Heim  >  Artikel  >  Backend-Entwicklung  >  LongLength-Eigenschaft von Arrays in C#

LongLength-Eigenschaft von Arrays in C#

WBOY
WBOYnach vorne
2023-09-17 16:49:151093Durchsuche

C# 中数组的 LongLength 属性

In C# verfügt die Array-Klasse über eine schreibgeschützte Eigenschaft namens LongLength. Es gibt einen langen ganzzahligen Wert zurück, der angibt, wie viele Elemente das Array enthalten kann. Nur Arrays mit Rang eins oder höher, also nicht eindimensionale Arrays, können auf die LongLength-Eigenschaft zugreifen.

Obwohl die LongLength-Eigenschaft einen langen Wert bereitstellt, ist es wichtig zu bedenken, dass die maximale Größe eines Arrays in C# immer noch durch die vom System unterstützte Speichermenge begrenzt ist. Wenn Sie versuchen, ein zu großes Array zu erstellen, wird möglicherweise eine OutOfMemoryException ausgelöst.

Grammatik

public long LongLength { get; }
  • Long − 64-Bit-Ganzzahlwert, der die Anzahl der Elemente im Array darstellt.

Die Anzahl der Elemente im gesamten Array wird über die LongLength-Eigenschaft des Arrays in C# als lange Ganzzahl zurückgegeben. Diese Eigenschaft ist nützlich, wenn Sie mit großen Arrays arbeiten, die mehr als 2 Milliarden Elemente enthalten können (die maximale Kapazität einer 32-Bit-Ganzzahl). In diesem Fall gibt die Eigenschaft „Länge“ einen negativen Wert zurück, was auf ein Überlaufproblem hinweist. Die LongLength-Eigenschaft löst dieses Problem, indem sie eine lange Ganzzahl zurückgibt, die höhere Werte darstellen kann.

Beispiel

In diesem Programm erstellen wir ein Array von 1 Milliarde Ganzzahlen und weisen jedem Element einen Wert zu. Anschließend verwenden wir die Eigenschaften „Length“ und „LongLength“, um die Anzahl der Elemente im Array zu ermitteln. Die Eigenschaft „Länge“ gibt aufgrund eines Ganzzahlüberlaufs eine negative Zahl zurück, während die Eigenschaft „LongLength“ die korrekte Anzahl von Elementen als lange Ganzzahl zurückgibt.

Algorithmus

  • Schritt 1 - Erstellen Sie ein Array eines beliebigen Typs, z. B. int[] abc= new int[1000000000];

  • Schritt-2 – Weisen Sie den Array-Elementen Werte zu, zum Beispiel abc[0] = 1; ... abc[999999999] = 1000000000;

  • Schritt 3 – Ermitteln Sie die Anzahl der Elemente in einem Array mithilfe der Eigenschaft „Länge“. Aufgrund eines Ganzzahlüberlaufs wird eine negative Zahl zurückgegeben, da das Array mehr als 2 Milliarden Elemente enthält.

  • Schritt-4 – Ermitteln Sie mithilfe der LongLength-Eigenschaft die Gesamtzahl der Elemente in einem Array als lange Ganzzahl. Dadurch wird die korrekte Zahl zurückgegeben, nämlich 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
   }
}

Ausgabe

Length: 1000000000

Beispiel

Sie können die Anzahl der Elemente in einem 2D- oder 3D-Array zählen. Dies hilft dabei, die Anzahl der Elemente in komplexen Arrays genau zu zählen. In diesem Beispiel erstellen wir ein 2D-Array und berechnen die Anzahl der Elemente des 2D-Arrays mithilfe der Eigenschaft LongLength.

  • Schritt 1 – Deklarieren Sie ein 2D-Array vom Datentyp int und initialisieren Sie es mit einigen Werten.

  • Schritt 2 – Rufen Sie die LongLength-Eigenschaft des Arrays ab.

  • Schritt 3 – Drucken Sie den Wert der LongLength-Eigenschaft auf der Konsole aus.

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);
   }
}

Ausgabe

The length of the array is: 12

Fazit

Die LongLength-Eigenschaft von Arrays in C# ist eine nützliche Eigenschaft beim Umgang mit großen Arrays, die die Ganzzahlgrenze überschreiten. Es ermöglicht uns, Arrays nahezu jeder Größe zu verarbeiten. Die einzige Grenze ist die auf dem System verfügbare Speichermenge. Es gibt die Anzahl der Elemente zurück, die das Array als Long-Wert enthalten kann.

Das obige ist der detaillierte Inhalt vonLongLength-Eigenschaft von Arrays in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen