首页 > 解决方案 > “索引”和“范围”运算符 - 它们是什么?

问题描述

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

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

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

解决方案


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

索引运算符^

索引运算符^表示从末尾开始。因此,array[^1]表示从末尾开始的第一个元素。它类似于普通的索引,array[1]意味着从一个元素开始。索引^0意味着结束。

范围运算符..

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


推荐阅读