Methode Array.Clear();

Position in einem Array löschen

Mit der Methode Array.Clear(); lassen sich bestimmte Elemente in einem Array je nach Typ auf 0 bzw. auf null oder false setzen. Die Methode löscht nur die Werte der Elemente nicht aber die Elemente selbst.

- Elemente mit einem Referenztyp werden auf null gesetzt

- Elemente vom Typ bool werden auf false gesetzt

- Alle anderen Wertetypen werden auf 0 gesetzt

 

Syntax:

public static void Clear(Array array, int index, int length)

 

Die Methode hat 3 Übergabeparameter:

1. Parameter Array array = Name des Arrays

2. Parameter int index = Die Indexposition des Arrays, ab welcher Stelle ein- oder auch mehrere Elemente gelöscht werden sollen

3. Parameter int length = Die Anzahl der Elemente, die ab der Indexposition gelöscht werden sollen

 

Im folgenden Beispiel wird die 4. Indexposition eines string Arrays mit der Länge von einer Indexposition gelöscht. Da es sich hierbei um einen Referenztyp handelt, wird das gelöschte Element auf null gesetzt.

 

namespace ConsoleApplication_clear_array
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] myarray = new[] { "Hallo ", "das ", "ist ", "ein ", "cooler ", "Test" };    // Ein string Array mit 6 Elementen

            Console.WriteLine("Inhalt: " + myarray[0] + myarray[1] + myarray[2] + myarray[3] + myarray[4] + myarray[5]); // Ausgabe von 6 Elementen
            Console.WriteLine("Das Array beinhaltet " + myarray.Length + " Elemente\n");  // Ausgabe der Array Länge (Anzahl der Elemente) = 6

            Array.Clear(myarray, 4, 1);     // Löscht das 4. Element mit einer Länge von 1 Element

            Console.WriteLine("Inhalt: " + myarray[0] + myarray[1] + myarray[2] + myarray[3] + myarray[4] + myarray[5]); // Ausgabe von 6 Elementen
            Console.WriteLine("Das Array beinhaltet " + myarray.Length + " Elemente\n");  // Ausgabe der Array Länge (Anzahl der Elemente) = 6

            Console.ReadLine();
        }
    }
}

 

Vor dem Ausführen der Methode Clear() enthält das 4. Element den String "cooler".

Array.Clear in C#

 Nachdem der Inhalt des 4. Elements gelöscht wurde steht an dieser Position nun ein null.

myarray null

 

Und hier das Beispiel um ein bool Array und ein int Array erweitert:

namespace ConsoleApplication_clear_array
{
    class Program
    {
        static void Main(string[] args)
        {
            /* ein string Array */
            string[] myarray = new[] { "Hallo ", "das ", "ist ", "ein ", "cooler ", "Test" };    // Ein string Array mit 6 Elementen

            Console.WriteLine("Inhalt: " + myarray[0] + myarray[1] + myarray[2] + myarray[3] + myarray[4] + myarray[5]); // Ausgabe von 6 Elementen
            Console.WriteLine("Das Array beinhaltet " + myarray.Length + " Elemente\n");  // Ausgabe der Array Länge (Anzahl der Elemente) = 6

            Array.Clear(myarray, 4, 1);     // Löscht das 4. Element mit einer Länge von 1 Element

            Console.WriteLine("Inhalt: " + myarray[0] + myarray[1] + myarray[2] + myarray[3] + myarray[4] + myarray[5]); // Ausgabe von 6 Elementen
            Console.WriteLine("Das Array beinhaltet " + myarray.Length + " Elemente\n");  // Ausgabe der Array Länge (Anzahl der Elemente) = 6


            /* ein bool Array */
            bool[] array = new[] {true, false, true, true, true };    // Ein bool Array mit 5 Elementen

            Console.WriteLine("Inhalt: " + array[0] + array[1] + array[2] + array[3] + array[4]); // Ausgabe von 5 Elementen
            Console.WriteLine("Das Array beinhaltet " + array.Length + " Elemente\n");  // Ausgabe der Array Länge (Anzahl der Elemente) = 5

            Array.Clear(array, 2, 3);     // Löscht das 2. Element mit einer Länge von 3 Elementen

            Console.WriteLine("Inhalt: " + array[0] + array[1] + array[2] + array[3] + array[4]); // Ausgabe von 5 Elementen
            Console.WriteLine("Das Array beinhaltet " + array.Length + " Elemente\n");  // Ausgabe der Array Länge (Anzahl der Elemente) = 5


            /* ein int Array */
            int[] array1 = new[] {0,1,2,3,4};    // Ein int Array mit 5 Elementen

            Console.WriteLine("Inhalt: " + array1[0] + array1[1] + array1[2] + array1[3] + array1[4]); // Ausgabe von 5 Elementen
            Console.WriteLine("Das Array beinhaltet " + array1.Length + " Elemente\n");  // Ausgabe der Array Länge (Anzahl der Elemente) = 5

            Array.Clear(array1, 1, 3);     // Löscht das 1. Element mit einer Länge von 3 Elementen

            Console.WriteLine("Inhalt: " + array1[0] + array1[1] + array1[2] + array1[3] + array1[4]); // Ausgabe von 5 Elementen
            Console.WriteLine("Das Array beinhaltet " + array1.Length + " Elemente\n");  // Ausgabe der Array Länge (Anzahl der Elemente) = 5

            Console.ReadLine();
        }
    }
}

 

Array Inhalte