卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章20481本站已运行348

C# 中数组的 LongLength 属性

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 属性是一个有用的属性。它允许我们处理几乎任何大小的数组,唯一的限制是系统可用的内存量。它以长整型值的形式返回数组可以携带的元素数量。

卓越飞翔博客
上一篇: 如何在Python中找到对象的方法或属性?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏