索引
c#8.0中的索引和範圍爲訪問序列中的單個元素或範圍提供了簡潔的語法
System.Index 類型可用於編制索引。 可從 int 創建一個從開頭開始計數的索引,也可使用前綴 ^ 運算符 (C#) 創建一個從末尾開始計數的索引。
^0
表示序列的length,所以^1
纔是序列的最後一個數*,所以如果直接使用a[^0]
效果等同於a[a.Length]
,會拋出異常。
Index i1 = 2;
Index i2 = ^3;
int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Console.WriteLine($"{a[i1]},{a[i2]}");
// Output: 3,7
範圍
System.Range 類型,它包含兩個 Index 值,一個用於開頭一個用於結尾,可以使用 x…y 範圍表達式 (C#) 進行編寫。 然後可以使用 Range 編制索引,以便生成一個切片。範圍指定範圍的開始和末尾 ,包括此範圍的開始,但不包括此範圍的末尾,如下:
var slice = a[i1..i2];
foreach (var item in slice)
{
Console.Write($"{item},");
}
// Output: 3,4,5,6,