c# - “索引”和“范围”运算符 - 它们是什么?
问题描述
我正在调整 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
意味着结束。
范围运算符..
正如您在上面的示例中所示,使用范围运算符创建子字符串非常方便。范围运算符也可用于创建子数组。例如,
var array = new {1, 2, 3, 4, 5, 6, 7};
var range = array[2..5]
以下是上述主题的 Microsoft 文档:索引和范围
推荐阅读
- flask - 如何检查 url_for 是否引用现有文件?
- spring - Spring Interceptor Prehandle 如果发生错误,如何获取实际的 request.getServletPath() 而不是“错误”
- inheritance - 继承 jsonnet 库
- cordova - 如何隐藏/删除 Ionic 4 Cordova Windows 10 应用程序后退按钮?
- python - 在 Python 中打印具有相应值的数组索引
- excel - 如果数组包含某些文本(例如,如果 rRng(i,k) 包含“/2”),如何使用 select case 语句
- angular - Angular 7处理大型post http请求
- python - 如何在 JSONField 中找到最大/最小值?
- javascript - (WebGL)如何将顶点添加到已经初始化的顶点缓冲区?
- javascript - 为什么当我更改原始数组/对象时,复制的数组/对象会发生变化?