首頁  >  文章  >  後端開發  >  C# 中數組的 LongLength 屬性

C# 中數組的 LongLength 屬性

WBOY
WBOY轉載
2023-09-17 16:49:151125瀏覽

C# 中数组的 LongLength 属性

在C#中,Array類別有一個唯讀屬性叫做LongLength。它傳回一個長整數值,表示數組可以容納多少個元素。只有秩為一或更高的數組,即非單維數組,才能存取LongLength屬性。

儘管 LongLength 屬性提供長整數值,但請務必記住,C# 中數組的最大大小仍然受到系統支援的記憶體量的限制。如果您嘗試建立太大的數組,可能會引發 OutOfMemoryException。

文法

public long LongLength { get; }
  • Long − 64位元整數值,表示陣列中元素的數量。

整個數組中的元素數量透過C#中數組的LongLength屬性作為長整數傳回。當處理可能包含超過20億元素(32位元整數的最大容量)的大陣列時,這個屬性非常有用。在這種情況下,Length屬性會傳回一個負值,表示溢位問題。透過傳回一個能夠表示更高值的長整數,LongLength屬性解決了這個問題。

範例

在這個程式中,我們建立了一個包含10億個整數的數組,並將每個元素賦值。然後,我們使用Length和LongLength屬性來取得數組中的元素數。 Length屬性由於整數溢位而傳回負數,而LongLength屬性以長整數的形式傳回正確的元素數量。

演算法

  • 步驟-1 − 建立一個任意型別的數組,例如 int[] abc= new int[1000000000];

  • #Step-2 - 為陣列元素賦值,例如abc[0] = 1;abc[1] = 2; ... abc[999999999] = 1000000000;

  • #Step-3 - 使用 Length 屬性取得陣列中的元素數。由於整數溢出,這將返回負數,因為該數組有超過 20 億個元素。

  • Step-4 - 使用 LongLength 屬性以長整數形式取得陣列中的元素總數。這將返回正確的數字,即 1000000000。

using System;
class Program {
   static void Main(string[] args) {
      //initilize an array of 1000000000 elements
      int[] arr = new int[1000000000];       
      for (int i = 0; i < arr.Length; i++) 
      
      //loop to assign values to array you can do this without loop but its a large array so loop is needed {
         arr[i] = i + 1;
      }
      Console.WriteLine("Length: " + arr.Length);// length property        Console.WriteLine("LongLength: " + arr.LongLength);//longlength property
   }
}

輸出

Length: 1000000000

範例

您可以計算2維或3維數組中的元素數量。這有助於準確計算複雜數組中的元素數量。在這個範例中,我們將建立一個2維數組,並使用LongLength屬性計算2維數組的元素數。

  • 步驟 1 - 宣告一個 int 資料型別的二維數組,並用一些值初始化。

  • 第二步 - 取得陣列的LongLength屬性。

  • 第三步 - 將LongLength屬性的值印到控制台。

using System;
class Program {
   static void Main(string[] args) {
      // Declare and initialize a 2-D array of integers
      int [,] a = new int [3,4] {
         {0, 1, 2, 3} ,  
         {4, 5, 6, 7} ,  
         {8, 9, 10, 11}   
      };
      
      // Get the LongLength property of the array
      long length = a.LongLength;

      // Print the value of the LongLength property to the console
      Console.WriteLine("The length of the array is: " + length);
   }
}

輸出

The length of the array is: 12

結論

當處理超出整數限制的大型陣列時,C# 中陣列的 LongLength 屬性是一個有用的屬性。它允許我們處理幾乎任何大小的數組,唯一的限制是系統可用的記憶體量。它以長整數值的形式傳回陣列可以攜帶的元素數量。

以上是C# 中數組的 LongLength 屬性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除