当前位置: 首页 > news >正文

C#范围运算符

C#8.0语法中,范围运算符是一种用于快速截取序列的运算符,其语法为 “start…end”,表示从序列的 “start” 索引处开始,一直截取到"end" 索引处为止(包括 “end” 索引处的元素)。范围运算符主要用于操作数组、字符串和Span 类型的数据序列。

范围运算符有两种形式:

  1. start…end,表示从序列的 “start” 索引处(包括该索引处的元素)开始,一直截取到"end" 索引处为止(包括 “end” 索引处的元素)。

  2. start…,表示从序列的 “start” 索引处(包括该索引处的元素)开始,截取到序列的结尾为止(包括该结尾处的元素)。

范围运算符还可以通过负数索引进行使用,如 -4…-2 表示从倒数第四个元素到倒数第二个元素(包括倒数第二个元素)。

使用范围运算符可以简化代码,提高效率,例如:

int[] arr = { 1, 2, 3, 4, 5 };
int[] subArr = arr[1..4]; //截取 arr 数组中从索引为 1 到 3 的子数组 { 2, 3, 4 }

还可以使用范围运算符来遍历序列的后半部分:

for(int i = arr.Length / 2..^0) //从数组中间索引处开始遍历到结尾
{//...
}

需要注意的是,范围运算符只能用于支持索引的数据类型,且仅限于C#8.0及以上版本。

C#8.0中也可以使用范围运算符(range operator)来截取字符串。范围运算符使用两个点(…)表示,它可以用于指定一个范围,在字符串中截取子串。

例如,假设有一个字符串str,我们要截取它从第3个字符到第5个字符的子串,可以使用以下代码:

string str = "abcdefg";
string subStr = str[2..5]; // 从第3个字符到第5个字符,共3个字符

在上述代码中,str[2…5]表示从第3个字符到第5个字符的子串,因为字符串中的第一个字符的下标是0,所以第3个字符的下标是2。

范围运算符还可以使用负数表示从字符串的末尾开始计数。例如,如果要截取字符串最后三个字符的子串,可以使用以下代码:

string str = "abcdefg";
string subStr = str[^3..^0]; // 从倒数第3个字符到倒数第1个字符,共3个字符

在上述代码中,表示从倒数第3个字符到倒数第1个字符的子串,因为倒数第一个字符的下标是-1,所以倒数第三个字符的下标是-3。

也可以简写为

Console.WriteLine("220613000100"[..^2]);//去掉最后两位
Console.WriteLine("220613000100"[^2..]);//保留最后两位
http://www.lryc.cn/news/163922.html

相关文章:

  • 云数据库知识学习——云数据库产品、云数据库系统架构
  • C++中引用详解!
  • VUE3+TS项目无法找到模块“../version/version.js”的声明文件
  • 数据结构-堆的实现及应用(堆排序和TOP-K问题)
  • Spring 条件注解没生效?咋回事
  • 96. 不同的二叉搜索树
  • Android Jetpack 中Hilt的使用
  • 批量采集的时间管理与优化
  • uniApp监听左右滑动事件
  • 十八、MySQL添加外键?
  • 图像文件的操作MATLAB基础函数使用
  • 【k8s】Kubernetes版本v1.17.3 kubesphere 3.1.1 默认用户登录失败
  • Mysql加密功能
  • redis-win10安装和解决清缓存报错“Error: Protocol error, got “H“ as reply type byte”
  • 【视觉检测】电源线圈上的导线弯直与否视觉检测系统软硬件方案
  • Java elasticsearch scroll模板实现
  • 嵌入式基础知识-信息安全与加密
  • TCP的三次握手与四次挥手
  • 【Face Swapping综述】Quick Overview of Face Swap Deep Fakes
  • etcd选举源码分析和例子
  • Android 网络配置
  • 【网络通信 -- WebRTC】Open WebRTC Toolkit 环境搭建指南
  • 文件上传漏洞(CVE-2022-30887)
  • LeetCode-77-组合
  • Oracle中instr,rtrim,XMLPARSE,XMLAGG,GETCLOBVAL函数的使用
  • java接入apiv3微信小程序支付(以java的eladmin框架为例)
  • 第19节-PhotoShop基础课程-历史记录画笔工具
  • MongoDB常用的比较符号和一些功能符号
  • 网络安全(黑客)技术自学
  • C++ 引用