Arrays in C#

Arrays in C#

Arrays in C# mit Beispielen

In diesem Artikel werde ich die Arrays in C# besprechen mit Beispielen. Es ist eines der wichtigsten Konzepte in Programmiersprachen. Arrays gibt es aus unseren traditionellen Programmiersprachen wie C, C++ und sind auch in C# verfügbar. Als Teil dieses Artikels werden wir die folgenden Hinweise besprechen.

  1. Warum brauchen wir Arrays in der Programmierung?
  2. Was ist ein Array in C#?
  3. Typen von Arrays in C#.
  4. Die Speicherdarstellung des Arrays in C# verstehen.
  5. Eindimensionales Array in C# mit Beispielen
  6. Was ist der Unterschied zwischen for-Schleife und for each-Schleife in C#, um auf Array-Werte zuzugreifen?
  7. Was ist die Array-Klasse in C#?
  8. Die Methoden und Eigenschaften der Array-Klasse verstehen.
  9. Was ist ein implizites Typarray in C#?
Warum brauchen wir Arrays beim Programmieren?

Wie wir eine primitive Typvariable wie int kennen, kann double zu einem bestimmten Zeitpunkt nur einen einzigen Wert enthalten. Beispiel:int no =10; . Hier die Variable „nein“ hat einen Wert von 10 . Wenn Sie 100 ganzzahlige Werte speichern möchten, müssen Sie gemäß Ihren Geschäftsanforderungen 100 ganzzahlige Variablen erstellen, was kein guter Programmieransatz ist, da dies viel Zeit in Anspruch nimmt und Ihr Code größer wird. Um die oben genannten Probleme zu überwinden, werden Arrays in C# eingeführt.

Was ist ein Array in C#?

In einfachen Worten können wir ein Array als eine Sammlung ähnlicher Arten von Werten definieren, die in sequentieller Reihenfolge gespeichert werden, d. h. sie werden an einem zusammenhängenden Speicherort gespeichert.

Arten von Arrays in C#:

C# unterstützt zwei Arten von Arrays. Sie lauten wie folgt:

  1. Eindimensionales Array
  2. Mehrdimensionales Array

Im eindimensionalen Array sind die Daten in Form einer Zeile angeordnet, während die Daten in den mehrdimensionalen Arrays in C# in Form von Zeilen und Spalten angeordnet sind. Auch hier gibt es zwei Arten von mehrdimensionalen Arrays

  1. Gezacktes Array :Wessen Zeilen und Spalten nicht gleich sind
  2. Rechteckiges Array :Wessen Zeilen und Spalten gleich sind

Wir können auf die Werte eines Arrays zugreifen, indem wir die Indexpositionen verwenden, wobei der Array-Index bei 0 beginnt, was bedeutet, dass das erste Element eines Arrays an der 0. Position und der Position gespeichert wird des letzten Elements eines Arrays ist die Gesamtzahl des Elements – 1.

Speicherdarstellung von Arrays in C# :

Sehen Sie sich bitte das folgende Diagramm an:

Wie Sie im obigen Diagramm sehen können, haben wir ein Integer-Array mit 10 Elementen. Der Array-Index beginnt bei 0, wo das erste Element des Arrays gespeichert wird. Da das Array 10 Elemente enthält, ist die letzte Indexposition 9. Die Array-Werte oder -Elemente werden sequentiell im Speicher gespeichert, d. h. an zusammenhängenden Speicherorten, und dies ist der Grund, warum es schneller ausgeführt wird.

In C# können die Arrays mit fester Länge oder dynamisch deklariert werden. Das Array mit fester Länge bedeutet, dass wir eine feste Anzahl von Elementen speichern können, während im Fall des dynamischen Arrays die Größe des Arrays automatisch zunimmt, wenn wir dem Array neue Elemente hinzufügen.

Hinweis: Die Arrays in C# sind Referenztypen, die von der Klasse System.Array abgeleitet sind.

Können wir eine for each-Schleife verwenden, um Arrays in C# zu durchlaufen?

Ja. Da die Arrays in C# von System.Array abgeleitet werden Klasse, die IEnumerable implementiert , sodass wir for-each  verwenden können Schleife zum Durchlaufen von Arrays in C#.

Eindimensionales Array in C# mit Beispielen:

Das Array, das die Daten in Form von Zeilen in einer sequentiellen Reihenfolge speichert, wird in C# als eindimensionales Array bezeichnet. Die Syntax zum Erstellen eines eindimensionalen Arrays in C# ist unten angegeben.

Wie Sie im obigen Bild sehen können, können wir ein Array in C# entweder mit der new initialisieren Schlüsselwort oder mit dem Argument Werte.

Eindimensionales Array-Beispiel in C#.

Im folgenden Beispiel erstellen wir zuerst ein Array mit der Größe 6. Um zu überprüfen, welche Standardwerte ein Array in c# speichert, drucken wir die Werte auf, ohne das Array zu initialisieren die Konsole mit einer for-Schleife. Andererseits weisen wir mit einer for-Schleife die Elemente dem Array zu. Schließlich greifen wir auf die Array-Elemente zu und geben die Werte auf der Konsole aus, indem wir eine for each-Schleife verwenden.

namespace ArayDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //Creating an array with size 6
            int[] arr = new int[6];
            
            //accessing array values using loop
            //Here it will display the default values
            //as we are not assigning any values
            for (int i = 0; i < 6; i++)
            {
                Console.Write(arr[i] + " ");
            }

            Console.WriteLine();
            int a = 0;

            //Here we are assigning values to array using for loop
            for (int i = 0; i < 6; i++)
            {
                a += 10;
                arr[i] = a;
            }

            //accessing array values using foreach loop
            foreach (int i in arr)
            {
                Console.Write(i + " ");
            }

            Console.ReadKey();
        }
    }
}

Ausgabe:Wie Sie in der folgenden Ausgabe sehen können, werden die Standardwerte 0 für ein Array vom Typ Integer gespeichert.

In diesem Beispiel haben wir eine spezielle Schleife verwendet, die für jede Schleife aufgerufen wird, um auf die Array-Elemente in C# zuzugreifen. Lassen Sie uns zuerst verstehen, was diese for each-Schleife ist, und dann werden wir den Unterschied zwischen for und for each-Schleife in C# sehen.

Für jede Schleife in C#:

Diese for each-Schleife ist speziell in C# für den Zugriff auf die Werte aus einer Sammlung wie einem Array konzipiert. Wenn wir eine for-each-Schleife für den Zugriff auf die Werte eines Arrays oder einer Sammlung verwenden, müssen wir nur das Array oder die Sammlung an die Schleife übergeben, die keine Initialisierung, Bedingung oder Iteration erfordert. Die Schleife selbst beginnt ihre Ausführung, indem sie Zugriff auf jedes einzelne Element bereitstellt, das in dem Array oder der Sammlung vorhanden ist, beginnend mit dem ersten bis zum letzten Element in sequentieller Reihenfolge.

Was ist der Unterschied zwischen der for-Schleife und der for each-Schleife in C#, um auf Array-Werte zuzugreifen?

Im Fall einer for-Schleife in C# bezieht sich die Schleifenvariable auf den Index eines Arrays, während sich die Schleifenvariable im Fall einer for-each-Schleife auf die bezieht Werte des Arrays.

Unabhängig von den im Array gespeicherten Werten muss die Schleifenvariable vom Typ int sein im Falle einer For-Schleife. Der Grund dafür ist, dass sich hier die Schleifenvariable auf die Indexposition des Arrays bezieht. Bei der For-Each-Schleife muss der Datentyp der Schleifenvariablen derselbe sein wie der Typ der im Array gespeicherten Werte. Wenn Sie beispielsweise ein String-Array haben, muss die Schleifenvariable vom Typ String sein im Falle der for-each-Schleife in C#.

Der wichtigste Punkt, den Sie beachten müssen, ist, dass die for-Schleife in C# sowohl für den Zugriff auf Werte aus einem Array als auch für die Zuweisung von Werten zu einem Array verwendet werden kann Die for-each-Schleife in C# kann nur für den Zugriff auf die Werte aus einem Array verwendet werden, aber nicht für die Zuweisung von Werten in ein Array.

Was ist die Array-Klasse in C#?

Das Array Klasse ist eine vordefinierte Klasse, die im System definiert ist Namensräume. Diese Klasse fungiert als Basisklasse für alle Arrays in C#. Das Array Die Klasse stellt eine Reihe von Membern (Methoden und Eigenschaften) bereit, um mit den Arrays zu arbeiten, z. B. zum Erstellen, Bearbeiten, Suchen, Umkehren und Sortieren der Elemente eines Arrays usw. Die Definition der Array-Klasse in C# ist unten gen.

Die Array-Klasse in C# ist kein Teil der System.Collections Namensraum. Es ist ein Teil des Systems Namensraum. Trotzdem haben wir es als Sammlung betrachtet, weil es die IList implementiert Schnittstelle. Die Array-Klasse stellt die folgenden Methoden und Eigenschaften bereit:

  1. Sortieren(): Sortieren der Array-Elemente
  2. Umkehren (): Umkehren der Array-Elemente
  3. Kopieren (Quelle, Ziel, n): Kopieren einiger Elemente oder aller Elemente aus dem alten Array in das neue Array
  4. GetLength(int): Eine 32-Bit-Ganzzahl, die die Anzahl der Elemente in der angegebenen Dimension darstellt.
  5. Länge: Es gibt die Gesamtzahl der Elemente in allen Dimensionen des Arrays zurück; Null, wenn das Array keine Elemente enthält.
Beispiel:Methoden und Eigenschaften von Array-Klassen in C#

Sehen wir uns ein Beispiel zum Verständnis der Methode und der Eigenschaften der Array-Klasse in C# an.

using System;
namespace ArayDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //Declaring an array
            int[] arr = { 17, 23, 4, 59, 27, 36, 96, 9, 1, 3 };
            //Printing the array elements
            Console.WriteLine("The Array Contains the Below Elements:");
            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i] + " ");
            }
            Console.WriteLine();

            //Sorting the array elements
            Array.Sort(arr);
            //Printing the array elements after sorting
            Console.WriteLine("The Array Elements After Sorting:");
            foreach (int i in arr)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();

            //Reversing the array elements
            Array.Reverse(arr);
            //Printing the array elements in reverse order
            Console.WriteLine("The Array Elements in the Reverse Order :");
            foreach (int i in arr)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();

            //Creating a new array
            int[] brr = new int[10];
            //Copying some of the elements from old array to new array
            Console.WriteLine("The new array elements:");
            Array.Copy(arr, brr, 5);
            //We declare the array with size 10. we copy only 5 elements. so the rest
            //5 elements will take the default value. In this array, it will take 0
            foreach (int i in brr)
            {
                Console.Write(i + " ");
            }

            Console.WriteLine();
            Console.WriteLine("brr Array Length :" + brr.Length);
            Console.WriteLine("brr Array Length :" + brr.GetLength(0));
            Console.ReadKey();
        }
    }
}
Ausgabe:

Die implizit typisierten Arrays in C# verstehen:

Wenn wir ein Array mit dem Schlüsselwort „var“ deklarieren, werden solche Array-Typen in C# als implizit typisierte Arrays bezeichnet.
Beispiel: var arr =neu[] {10, 20, 30 , 40, 50};
Sehen wir uns ein Beispiel zum Verständnis des implizit typisierten Arrays in C# an.

namespace ArayDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var arr = new[] { 17, 23, 4, 59, 27, 36, 96, 9, 1, 3 };
            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i] + " ");
            }
            Console.ReadKey();
        }
    }
}
Ausgabe:

Im nächsten Artikel werde ich das zweidimensionale Array in C# besprechen mit Beispielen. Hier in diesem Artikel versuche ich, Arrays in C# zu erklären mit Beispielen. Ich hoffe, dieser Artikel wird Ihnen bei Ihren Bedürfnissen helfen. Ich hätte gerne Ihr Feedback. Bitte posten Sie Ihr Feedback, Ihre Fragen oder Kommentare zu diesem Artikel.