Einführung in C#
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".
Nachdem der Inhalt des 4. Elements gelöscht wurde steht an dieser Position nun ein 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(); } } }