在 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 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告