• 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 }
    
    • 1
    • 2

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

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

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

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

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

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

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

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

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

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

    也可以简写为

    Console.WriteLine("220613000100"[..^2]);//去掉最后两位
    Console.WriteLine("220613000100"[^2..]);//保留最后两位
    
    • 1
    • 2
  • 相关阅读:
    SQL被当成代码?谷歌的理由绝了
    快慢指针思想(Hare & Tortoise 算法)
    Python面向对象编程
    使用 nvm 实现对 Node 的多版本管理
    个人数据保全计划:(1) NAS开箱
    论文解读(MLGCL)《Multi-Level Graph Contrastive Learning》
    【PyTorch】深度学习实践之多维度输入Multiple Dimension Input
    ipad触控笔是哪几款?开学季便宜的ipad电容笔推荐
    二本Java渣渣9面字节遭虐,苦修数月深造这份宝典,终进阿里
    【黄啊码】MySQL入门—5、掌握这些数据筛选技能比你学python还有用-2
  • 原文地址:https://blog.csdn.net/qinweiwen/article/details/132743071