“指数”和“范围”运营商 - 他们是什么?

问题描述 投票:-1回答:1

我正在调整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-studio visual-studio-2017
1个回答
0
投票

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

Index Operator ^

指数运营商^意味着从最后开始。因此,array[^1]意味着从最后开始的第一个元素。它类似于常见的索引,array[1]从一开始就意味着一个元素。指数^0意味着结束。

Range Operator ..

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

© www.soinside.com 2019 - 2024. All rights reserved.