微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

^1 作为 C# 中的数组索引例如 arr[^1]是什么意思?

如何解决^1 作为 C# 中的数组索引例如 arr[^1]是什么意思?

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

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

解决方法

C# 8.0 及以后,声明了 new ranges and indexes

其中有 ^ 运算符:

让我们从索引的规则开始。考虑一个数组序列。 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。