在 C# 中从集合末尾的指定索引位置创建索引


索引是任何编程语言的关键部分,C#也不例外。在 C# 8.0 中,引入了一项新功能,可以从集合末尾的指定位置创建索引。此功能为 C# 中的数组和列表操作添加了新的维度。本文将指导您完成在 C# 中从集合末尾的指定索引位置创建索引的过程。

理解 C# 中的索引

在继续之前,让我们了解一下 C# 中索引的含义。在 C# 中,您可以使用索引访问数组或集合中的元素。传统上,索引从集合的开头开始,第一个元素的索引为 0。但是,C# 8.0 引入了一种新的索引集合方式——从末尾开始。

C# 中的 Index 结构

C# 8.0 引入了 Index 结构,它可以表示“从开头”或“从末尾”索引。您可以按照预期的方式创建“从开头”索引,方法是提供一个非负整数值。但是,要创建“从末尾”索引,您需要使用脱字符 (^) 运算符。

示例

这是一个示例:

using System;

class Program {
   static void Main() {
      int[] numbers = { 1, 2, 3, 4, 5 };

      Index i1 = new Index(2);         // "from start" index
      Index i2 = new Index(2, fromEnd: true);        // "from end" index

      int index1 = i1.GetOffset(numbers.Length);
      int index2 = i2.GetOffset(numbers.Length);

      Console.WriteLine(numbers[index1]);  // Outputs: 3
      Console.WriteLine(numbers[index2]);  // Outputs: 4
   }
}

在这个例子中,i1 是“从开头”索引,i2 是“从末尾”索引。当我们打印这些索引处的元素时,分别得到 3 和 4。

输出

3
4

将 Index 结构与集合一起使用

您可以将 Index 结构与任何支持索引的类型一起使用,包括数组、字符串和各种集合类:

示例

using System;
using System.Collections.Generic;

class Program {
   static void Main() {
      List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
      
      int i = numbers.Count - 2;

      Console.WriteLine(numbers[i]);  // Outputs: 4
   }
}

在这个例子中,我们创建了一个“从末尾”索引 i,然后我们用它来访问列表 numbers 中的一个元素。

输出

4

结论

在 C# 8.0 中引入了一项强大的功能,可以从集合末尾的指定索引位置创建索引。此功能增强了 C# 中索引的灵活性,并简化了某些操作所需的代码,例如访问集合末尾附近的元素。

更新于:2023 年 7 月 24 日

214 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告