Was Sind Listen?

Stellen Sie sich vor, wir haben eine Situation, in der wir die Namen aller Studierenden speichern möchten, die an einem bestimmten Kurs teilnehmen. Die erste Lösung, die uns einfällt, ist die Erstellung eines Arrays:
index.cs
123456using System; class Program { string[] studentNames = new string[50]; }
Wenn jedoch zu einem bestimmten Zeitpunkt mehr als 50 Studierende vorhanden sind, können deren Namen nicht gespeichert werden. Ebenso führen weniger als 50 Studierende dazu, dass die ungenutzten Plätze im Array Speicher verschwenden – dies wird insbesondere bei sehr großen Arrays problematisch.
Hier benötigen wir eine neue Struktur, die eine variable Anzahl von Elementen speichern kann. Glücklicherweise existiert eine solche Struktur bereits, sie wird als Liste bezeichnet.
Listen ähneln Arrays sehr, jedoch ist die Anzahl der in einer Liste gespeicherten Elemente veränderbar.

Es ist möglich, bestehende Elemente in einem Array zu verändern, jedoch können keine neuen Einträge hinzugefügt werden.
Folgendes ist die Syntax zur Deklaration einer leeren Liste:

Mit dieser Syntax kann eine Liste zur Speicherung der Namen von Studierenden erstellt werden:
index.cs
12345678910using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); } }
Es ist wichtig zu beachten, dass das Modul Generic
importiert werden muss, um Listen verwenden zu können.
index.cs
1using System.Collections.Generic;
Fügen Sie einfach diese Zeile unter using System;
ein, um das erforderliche Modul zu importieren.
Add()-Methode
Elemente können einer Liste mit der Methode Add
hinzugefügt werden:
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); } }
Der obige Code fügt der Liste students
vier Elemente hinzu.
Wie ein Array vom Typ string
nur string
-Elemente enthalten kann, kann auch eine Liste vom Typ string
nur string
-Elemente aufnehmen.
Indizierung
Das erste Element ist Anna
, daher hat es den Index 0
, während Laura
den Index 1
hat und so weiter. Elemente einer Liste können wie bei einem Array über die Indizierung angesprochen werden:
index.cs
1234567891011121314151617using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); Console.WriteLine(students[2]); } }
Count()-Methode
Die Länge einer Liste kann über das Attribut Count
abgerufen werden:
index.cs
123456789101112131415161718using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); Console.WriteLine(students[2]); Console.WriteLine(students.Count); } }
Dynamische Länge
Beachte, dass die Länge einer Liste dynamisch (veränderbar) ist und sich beim Hinzufügen von Elementen ändert:
index.cs
1234567891011121314151617181920using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); Console.WriteLine(students.Count); students.Add("Anna"); Console.WriteLine(students.Count); students.Add("Laura"); Console.WriteLine(students.Count); students.Add("Jacob"); Console.WriteLine(students.Count); students.Add("Aron"); Console.WriteLine(students.Count); } }
Initialisierung
Eine Liste kann auch mit einigen Elementen unter Verwendung der folgenden Syntax initialisiert werden:
List<dataType> listName = new List<dataType>{ element1, element2, … };
index.cs
12345678910111213141516using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; // It is still possible to add additional elements after initialization students.Add("Markus"); Console.WriteLine(students.Count); Console.WriteLine(students[4]); } }
Durchlaufen von Listen
Durchlaufen einer Liste ähnlich wie bei Arrays
Verwendung einer for-Schleife
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; for (int i = 0; i < students.Count; i++) { Console.WriteLine(students[i]); } } }
Verwendung einer foreach-Schleife
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; foreach (string studentName in students) { Console.WriteLine(studentName); } } }
Um die Deklarationssyntax zu verkürzen, kann auch die implizite Deklaration verwendet werden. Zur Erinnerung: Eine explizite Deklaration liegt vor, wenn der Datentyp bei der Variablendeklaration angegeben wird.
index.cs
1float number = 7.9f;
Bei der impliziten Deklaration hingegen kann einfach das Schlüsselwort var
verwendet werden und der Compiler leitet den Datentyp der Variablen automatisch anhand des zugewiesenen Werts ab:
index.cs
1var number = 7.9f;
Auch bei der Deklaration von Listen kann die implizite Deklaration verwendet werden:
index.cs
1var numbers = new List<int> { 1, 2, 3, 4, 5 };
1. Was wird die Ausgabe des folgenden Codes sein:
2. Welches Modul muss importiert werden, um Listen zu verwenden?
3. Welche Methode wird verwendet, um die Größe (Länge) einer Liste abzurufen?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 2.04
Was Sind Listen?
Swipe um das Menü anzuzeigen

Stellen Sie sich vor, wir haben eine Situation, in der wir die Namen aller Studierenden speichern möchten, die an einem bestimmten Kurs teilnehmen. Die erste Lösung, die uns einfällt, ist die Erstellung eines Arrays:
index.cs
123456using System; class Program { string[] studentNames = new string[50]; }
Wenn jedoch zu einem bestimmten Zeitpunkt mehr als 50 Studierende vorhanden sind, können deren Namen nicht gespeichert werden. Ebenso führen weniger als 50 Studierende dazu, dass die ungenutzten Plätze im Array Speicher verschwenden – dies wird insbesondere bei sehr großen Arrays problematisch.
Hier benötigen wir eine neue Struktur, die eine variable Anzahl von Elementen speichern kann. Glücklicherweise existiert eine solche Struktur bereits, sie wird als Liste bezeichnet.
Listen ähneln Arrays sehr, jedoch ist die Anzahl der in einer Liste gespeicherten Elemente veränderbar.

Es ist möglich, bestehende Elemente in einem Array zu verändern, jedoch können keine neuen Einträge hinzugefügt werden.
Folgendes ist die Syntax zur Deklaration einer leeren Liste:

Mit dieser Syntax kann eine Liste zur Speicherung der Namen von Studierenden erstellt werden:
index.cs
12345678910using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); } }
Es ist wichtig zu beachten, dass das Modul Generic
importiert werden muss, um Listen verwenden zu können.
index.cs
1using System.Collections.Generic;
Fügen Sie einfach diese Zeile unter using System;
ein, um das erforderliche Modul zu importieren.
Add()-Methode
Elemente können einer Liste mit der Methode Add
hinzugefügt werden:
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); } }
Der obige Code fügt der Liste students
vier Elemente hinzu.
Wie ein Array vom Typ string
nur string
-Elemente enthalten kann, kann auch eine Liste vom Typ string
nur string
-Elemente aufnehmen.
Indizierung
Das erste Element ist Anna
, daher hat es den Index 0
, während Laura
den Index 1
hat und so weiter. Elemente einer Liste können wie bei einem Array über die Indizierung angesprochen werden:
index.cs
1234567891011121314151617using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); Console.WriteLine(students[2]); } }
Count()-Methode
Die Länge einer Liste kann über das Attribut Count
abgerufen werden:
index.cs
123456789101112131415161718using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); Console.WriteLine(students[2]); Console.WriteLine(students.Count); } }
Dynamische Länge
Beachte, dass die Länge einer Liste dynamisch (veränderbar) ist und sich beim Hinzufügen von Elementen ändert:
index.cs
1234567891011121314151617181920using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); Console.WriteLine(students.Count); students.Add("Anna"); Console.WriteLine(students.Count); students.Add("Laura"); Console.WriteLine(students.Count); students.Add("Jacob"); Console.WriteLine(students.Count); students.Add("Aron"); Console.WriteLine(students.Count); } }
Initialisierung
Eine Liste kann auch mit einigen Elementen unter Verwendung der folgenden Syntax initialisiert werden:
List<dataType> listName = new List<dataType>{ element1, element2, … };
index.cs
12345678910111213141516using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; // It is still possible to add additional elements after initialization students.Add("Markus"); Console.WriteLine(students.Count); Console.WriteLine(students[4]); } }
Durchlaufen von Listen
Durchlaufen einer Liste ähnlich wie bei Arrays
Verwendung einer for-Schleife
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; for (int i = 0; i < students.Count; i++) { Console.WriteLine(students[i]); } } }
Verwendung einer foreach-Schleife
index.cs
123456789101112131415using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; foreach (string studentName in students) { Console.WriteLine(studentName); } } }
Um die Deklarationssyntax zu verkürzen, kann auch die implizite Deklaration verwendet werden. Zur Erinnerung: Eine explizite Deklaration liegt vor, wenn der Datentyp bei der Variablendeklaration angegeben wird.
index.cs
1float number = 7.9f;
Bei der impliziten Deklaration hingegen kann einfach das Schlüsselwort var
verwendet werden und der Compiler leitet den Datentyp der Variablen automatisch anhand des zugewiesenen Werts ab:
index.cs
1var number = 7.9f;
Auch bei der Deklaration von Listen kann die implizite Deklaration verwendet werden:
index.cs
1var numbers = new List<int> { 1, 2, 3, 4, 5 };
1. Was wird die Ausgabe des folgenden Codes sein:
2. Welches Modul muss importiert werden, um Listen zu verwenden?
3. Welche Methode wird verwendet, um die Größe (Länge) einer Liste abzurufen?
Danke für Ihr Feedback!