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

csharpserver side programmingprogramming

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

了解 C# 中的索引

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

C# 中的索引结构

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# 中索引的灵活性,并简化了某些操作所需的代码,例如访问集合末尾附近的元素。


相关文章