C# 8.0中的范围类型(Range Type)示例详解

2020-01-05 10:08:05王振洲

Item2
Item3

结果比我们预想的少了一个。这是我们使用范围类型遇到的第一个问题。

范围的起始索引是包含的,范围的结束索引是排除的

如果我们修改一下我们的代码:


static void Main(string[] args)
{
 var myArray = new string[]
 {
  "Item1",
  "Item2",
  "Item3",
  "Item4",
  "Item5"
 };
 
 foreach (var item in myArray[1..4])
 {
  Console.WriteLine(item);
 }
 
 Console.ReadLine();
}

我们就会获得预想的结果。

范围缩写

使用范围来定义起始和结束索引非常的好用。但是如何表示从一个索引开始直到数组的最后一个对象呢?

从一个索引开始到数组的最后一个对象


static void Main(string[] args)
{
 var myArray = new string[]
 {
  "Item1",
  "Item2",
  "Item3",
  "Item4",
  "Item5"
 };
 
 foreach (var item in myArray[1..])
 {
  Console.WriteLine(item);
 }
 
 Console.ReadLine();
 
}

输出结果:

Item2