Die AddRange-Funktion für List in C#

Saad Aslam 12 Oktober 2023
  1. Bedeutung der Funktion AddRange() in C#
  2. Implementieren Sie die Funktion AddRange() in C#
Die AddRange-Funktion für List in C#

Dieser Artikel stellt eine Demonstration der Funktion AddRange() und ihrer Operationen bereit, die in der Programmiersprache C# ausgeführt werden.

Bedeutung der Funktion AddRange() in C#

Die Methode AddRange in Listen ermöglicht es, eine ganze Sammlung von Komponenten auf einmal hinzuzufügen. Beim Hinzufügen von Elementen aus einer bestimmten Sammlung am Ende einer Liste wird die Funktion AddRange der Programmiersprache C# verwendet.

Es kann die lästige foreach-Schleife ersetzen, die ständig die Add-on-List-Methode verwendet. Es ist möglich, AddRange nicht nur ein Array oder eine andere Liste zu senden, sondern auch jede andere IEnumerable-Sammlung.

InsertRange() führt ähnliche Aktionen wie die oben beschriebenen aus, erfordert aber auch einen Startpunkt als Argument. Zuerst sehen wir uns die Instanzmethode AddRange() an, die in der Basisklassenbibliothek List für die Programmiersprache C# verfügbar ist.

InsertRange() ist die Funktion, die die Funktion AddRange() implementiert. AddRange(), eine Wrapper-Methode um InsertRange(), hat als Zielposition eine Zielposition von 0.

Die Methode AddRange unterscheidet sich in einigen wesentlichen Punkten von Arrays. Während die Größe von Listen möglicherweise dynamisch erhöht wird, können Arrays nicht auf diese Weise erweitert werden.

Der Namensraum System.Collections.Generic enthält die Funktion AddRange(T) für die Klasse List. Diese Funktion muss den Parameter collection erhalten, der als obligatorisch angesehen wird.

System.Collections.Generic.IEnumerableT> ist der Werttyp für das Argument Sammlung. Die Sammlung, deren Elemente an das Ende von ListT> angehängt werden sollen, wird durch IEnumerableT> dargestellt.

Die Reihenfolge, in der die Sammlungskomponenten gespeichert werden, wird durch die ListT> beibehalten. Die folgende Beschreibung demonstriert den Prototyp der Funktion.

public void AddRange(System.Collections.Generic.IEnumerable<T> collection);

Implementieren Sie die Funktion AddRange() in C#

Nun, da wir alles aus dem Weg geräumt haben, schauen wir uns einige Instanzen an, um sie besser zu verstehen. Dies ist das einfachste mögliche Beispiel, um zu veranschaulichen, wie die Funktion AddRange() ihre Ziele erreicht.

Zuerst erstellen wir eine Liste von ganzen Zahlen und nennen ihre Variable l.

List<int> l = new List<int>();

Nachdem Sie eine Liste mit ganzen Zahlen erstellt haben, besteht der nächste Schritt darin, der gerade erstellten Liste einige Elemente hinzuzufügen.

l.Add(1);
l.Add(2);
l.Add(3);
l.Add(4);

Der nächste Schritt besteht darin, ein Array desselben Typs wie die Liste zu erstellen, bei dem es sich um ein Array vom Integer-Typ mit einer Größe von 4 handelt, und das Array dann zu füllen.

int[] arr = new int[4];
arr[0] = 5;
arr[1] = 6;
arr[2] = 7;
arr[3] = 8;

Danach verwenden wir die Methode AddRange() auf unserer Liste l und liefern als Argument das arr, das wir früher im Prozess erstellt haben.

l.AddRange(arr);

Die Liste, die wir haben, wird nun angezeigt.

foreach (int val in l) {
  Console.WriteLine(val);
}

Wir haben beobachtet, dass jedes Arraymitglied auch in der Liste enthalten war.

Quellcode

using System;
using System.Collections.Generic;

public class AddRangeFunction {
  public static void Main() {
    List<int> l = new List<int>();
    l.Add(1);
    l.Add(2);
    l.Add(3);
    l.Add(4);

    int[] arr = new int[4];
    arr[0] = 5;
    arr[1] = 6;
    arr[2] = 7;
    arr[3] = 8;

    l.AddRange(arr);

    foreach (int val in l) {
      Console.WriteLine(val);
    }
  }
}

Ausgang:

1
2
3
4
5
6
7
8

Hier ist ein weiteres Beispiel.

using System;
using System.Collections.Generic;

public class AddRangeFunction {
  public static void Main() {
    List<int> l = new List<int>();
    int[] arr = new int[4];
    arr[0] = 5;
    arr[1] = 6;
    arr[2] = 7;
    arr[3] = 8;

    l.AddRange(arr);

    foreach (int val in l) {
      Console.WriteLine(val);
    }
  }
}

Ausgang:

5
6
7
8

In diesem Fall folgten wir dem gleichen Verfahren wie im vorherigen. In diesem speziellen Fall stand jedoch nichts auf unserer Liste.

Die Punkte auf unserer Liste wurden nicht abgehakt. Wir haben das Array in die Liste aufgenommen, die zuvor leer war.

Dieses Beispiel veranschaulicht, dass das Hinzufügen von Elementen zu einer leeren Liste möglich ist. Wenn Sie sich die Ausgabe ansehen, werden Sie feststellen, dass die Werte des Arrays zur Liste hinzugefügt wurden.

Angenommen, die neue Anzahl (die aktuelle Anzahl plus die Sammlungsgröße) ist größer als die Kapazität. In diesem Fall wird die Kapazität von ListT> erhöht, indem das interne Array automatisch neu zugewiesen wird, um die zusätzlichen Elemente aufzunehmen.

Dies tritt auf, wenn die neue Anzahl größer als die Kapazität ist. Bevor neue Elemente hinzugefügt werden, werden zunächst die vorherigen Elemente in das neu erstellte Array kopiert.

Autor: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

Verwandter Artikel - Csharp List