C#8.0中的索引和範圍

C#8.0中的索引和範圍

索引

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,

參考

What’s new in C# 8.0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章