int []arr = new int[4];
arr[^1]; // returns the last element
我试图弄清楚上面的语法。它返回最后一个元素,但为什么呢?
int []arr = new int[4];
arr[^1]; // returns the last element
我试图弄清楚上面的语法。它返回最后一个元素,但为什么呢?
C# 8.0 及以后,声明了新的范围和索引
其中^
运营商:
让我们从索引的规则开始。考虑一个数组序列。索引与
0
相同sequence[0]
。索引与^0
相同sequence[sequence.Length]
。
因此,它是一种反向搜索可索引对象的方法,无需像sequence[sequence.Length - i]
.
string[] words = new string[]
{
// index from start index from end
"The", // 0 ^9
"quick", // 1 ^8
"brown", // 2 ^7
"fox", // 3 ^6
"jumped", // 4 ^5
"over", // 5 ^4
"the", // 6 ^3
"lazy", // 7 ^2
"dog" // 8 ^1
}; // 9 (or words.Length) ^0