C# 范围操作符(Ranges)

C# 中的范围操作符(Ranges)是 C# 8.0 引入的一个非常有用的特性,它允许你以简洁的语法来指定集合(如数组、列表等)中的一部分元素。范围操作符由两个点(...)组成,用于定义范围的开始和结束。

下面是一些使用范围操作符(Ranges)的示例:

示例 1:基本用法

假设你有一个整数数组,并想要获取数组中的一部分元素。

csharp 复制代码
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] range = numbers[2..5]; // 获取索引从2(包含)到5(不包含)的元素

foreach (var num in range)
{
    Console.WriteLine(num); // 输出:3, 4, 5
}

在这个例子中,numbers[2..5] 创建了一个新的数组 range,它包含了原数组 numbers 中索引从 2 到 4 的元素(注意范围操作符是左闭右开的,即包含开始索引,不包含结束索引)。

示例 2:使用末尾索引

范围操作符还支持使用末尾索引,这允许你从数组的末尾开始指定范围。末尾索引用 ^ 符号表示。

csharp 复制代码
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] lastThree = numbers[^3..]; // 获取从倒数第三个元素到数组末尾的所有元素

foreach (var num in lastThree)
{
    Console.WriteLine(num); // 输出:8, 9, 10
}

string example = "HelloWorld";  
  
// 使用范围操作符取字符串最右边的3位  
string lastThreeChars = example[^3..];  
  
Console.WriteLine($"字符串最右边的3位是: {lastThreeChars}");

在这个例子中,numbers[^3..] 创建了一个新的数组 lastThree,它包含了原数组 numbers 中从倒数第三个元素开始到数组末尾的所有元素。

示例 3:省略开始或结束索引

你还可以省略范围操作符中的开始或结束索引,以获取从数组开始或到数组末尾的所有元素。

csharp 复制代码
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] fromStart = numbers[..5]; // 从数组开始到索引5(不包含) 也可用于字符串
int[] toEnd = numbers[5..]; // 从索引5(包含)到数组末尾

foreach (var num in fromStart)
{
    Console.WriteLine(num); // 输出:1, 2, 3, 4, 5
}

foreach (var num in toEnd)
{
    Console.WriteLine(num); // 输出:6, 7, 8, 9, 10
}
相关推荐
晨星shine4 天前
GC、Dispose、Unmanaged Resource 和 Managed Resource
后端·c#
用户298698530144 天前
.NET 文档自动化:Spire.Doc 设置奇偶页页眉/页脚的最佳实践
后端·c#·.net
用户3667462526744 天前
接口文档汇总 - 2.设备状态管理
c#
用户3667462526744 天前
接口文档汇总 - 3.PLC通信管理
c#
Ray Liang5 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Scout-leaf8 天前
WPF新手村教程(三)—— 路由事件
c#·wpf
用户298698530148 天前
程序员效率工具:Spire.Doc如何助你一键搞定Word表格排版
后端·c#·.net
mudtools9 天前
搭建一套.net下能落地的飞书考勤系统
后端·c#·.net
玩泥巴的9 天前
搭建一套.net下能落地的飞书考勤系统
c#·.net·二次开发·飞书
唐宋元明清21889 天前
.NET 本地Db数据库-技术方案选型
windows·c#