我需要反轉 a Span<Char>,如果我使用 NetStandard 2.1 會很容易。
我可以使用MemoryExtensions.Reverse(Span),但不幸的是,我使用的版本不支持它。
我試圖從存盤庫中復制代碼,但它使用了 NetStandard 2.0 中不存在的一些語言功能。
我不介意使用優化程度較低的實作,因為它在我的代碼中并不經常使用。不過,我無法將其轉換為字串然后將其反轉,因為我無法在此實作中處理垃圾收集觸發器。
如何在Span<Char>不轉換為字串或升級 NetStandard 版本的情況下反轉 a ?
uj5u.com熱心網友回復:
如果超級高效并不重要,那么為什么不是簡單的 for 回圈呢?
Span<int> x = new[] { 1, 2, 3, 4 }.AsSpan();
for (int i = 0, j = x.Length - 1; i < j; i , j--)
{
var temp = x[i];
x[i] = x[j];
x[j] = temp;
}
uj5u.com熱心網友回復:
安裝最新的System.MemoryNuGet 包,MemoryExtensions.Reverse即可使用方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/340801.html
標籤:C# 数组 细绳 .net-标准-2.0
上一篇:PHP如何組合陣列并創建新陣列
