我正在调整c#的代码样式设置,我注意到这些选项:
“首选索引运算符:”
// Prefer:
var ch = value[^1];
// Over:
var ch = value[value.Length - 1];
“首选范围运算符:”
// Prefer:
var sub = value[1..^1];
// Over:
var sub = value.Substring(1, value.Length - 2);
我很难找到关于这些的任何参考。在这种情况下,“索引运算符”和“范围运算符”是什么意思?你怎么用它们?
我想使用索引和范围运算符的主要优点是它们的简单性。
^
指数运营商^
意味着从最后开始。因此,array[^1]
意味着从最后开始的第一个元素。它类似于常见的索引,array[1]
从一开始就意味着一个元素。指数^0
意味着结束。
..
正如您在上面的示例中所示,使用范围运算符创建子字符串非常方便。 Range运算符也可用于创建子数组。例如,
var array = new {1, 2, 3, 4, 5, 6, 7};
var range = array[2..5]
以下是针对上述主题的Microsoft文档:Indices and ranges