C# 8 提供了索引(Indices)與範圍(Ranges),讓我們可以透過簡潔的方式來存取序列中的單一元素或範圍,藉由兩個新的類型(Index
, Range
)與兩個新的運算子(^
, ..
)。
System.Index
代表序列的索引。^
來自 end 運算子(Index from end operator),從序列結尾開始的元素位置。System.Range
代表序列的子範圍。..
範圍運算子(Range operator ),指定範圍的開始和結束作為其運算元。
透過以下幾個使用例子來說明。
1 | int[] intArray = {1, 2, 3, 4, 5}; |
需注意 ^0
與 array 的長度相同,所以會拋出 System.IndexOutOfRangeException
錯誤。
1 | int[] intArray = { 1, 2, 3, 4, 5 }; |
..
運算子的開頭與結尾預設為0
與^0
,需注意在透過 Range
取得子範圍時,是不含結尾位置的。
索引與範圍不只能使用在陣列上,詳細可以透過第一個參考連結內的類型支援索引和範圍查看。