代码检查:从末尾开始的索引必须大于零;使用“^1”引用最后一个元素
C# 8.0 中引入的反向索引运算符 ^ 可能会导致使用 ^0 引用最后一个元素的错误,就像您使用 0 引用第一个元素一样。 然而,从末尾开始的索引设计为从 1 开始,因此使用 ^0 作为索引将在运行时导致 IndexOutOfRangeException。
此 StackOverflow 答案很好地解释了为什么从末尾开始的索引是从 1 而不是 0 开始的。
要解决此问题,请将索引中的 ^0 替换为 ^1。
void Sample()
{
var numbers = new[] { "one", "two", "three" };
var three = numbers[^0];
Console.WriteLine(three);
}
void Sample()
{
var numbers = new[] { "one", "two", "three" };
var three = numbers[^1];
Console.WriteLine(three);
}
最后修改日期: 2025年 9月 27日