“索引”和“范围”运算符-它们是什么?

时间:2019-04-16 03:57:57

标签: c# visual-studio visual-studio-2017

我正在调整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);

我正在努力寻找关于这些的任何参考。在这种情况下,“索引运算符”和“范围运算符”是什么意思?您如何使用它们?

1 个答案:

答案 0 :(得分:0)

我猜想使用索引和范围运算符的主要优点是它们的简单性。

索引运算符^

索引运算符^的意思是从头开始。因此,array[^1]是指末尾的第一个元素。它类似于通用索引,array[1]表示从头开始的一个元素。索引^0表示结尾。

范围运算符..

如上面的示例所示,使用范围运算符创建子字符串非常方便。范围运算符也可用于创建子数组。例如,
var array = new {1, 2, 3, 4, 5, 6, 7}; var range = array[2..5]
这是上述主题的Microsoft文档:Indices and ranges