2
int []arr = new int[4];
arr[^1];   // returns the last element

我试图弄清楚上面的语法。它返回最后一个元素,但为什么呢?

4

1 回答 1

0

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
于 2021-03-01T06:53:43.513 回答