Verständnis und Lösen ".NET" -Endex aus Reichweite
Ein "IndexoutoFrangeException" in .NET entsteht, wenn Sie versuchen, mit einem ungültigen Index auf ein Element in einer Sammlung (wie ein Array oder eine Liste) zugreifen zu können. Da .NET -Sammlungen nullisch sind, liegt der gültige Indexbereich von 0 bis (Länge - 1). Versuch, auf ein Element zuzugreifen, das über diesen Bereich hinausgeht - ein negativer Index oder einen Index, der gleich oder größer als die Länge ist - führt diese Ausnahme hervor.
veranschaulichen wir mit einem Array -Beispiel:
<code class="language-csharp">int[] numbers = new int[5]; // Array with 5 elements (indices 0-4) Console.WriteLine(numbers[5]); // Throws IndexOutOfRangeException</code>
hier, numbers[5]
versucht, auf das sechste Element zuzugreifen, was nicht existiert, was den Fehler verursacht.
Arbeiten mit anderen Sammlungen
arbeiten Diese nullbasierte Indexierung gilt für andere Sammlungen, einschließlich List<T>
. Das letzte zugängliche Element befindet sich immer bei Index Count - 1
.
Für eine sichere Iteration sollten Sie eine for
-Schleife mit explizitem Grenzen überprüfen:
<code class="language-csharp">List<string> names = new List<string> { "Alice", "Bob", "Charlie" }; for (int i = 0; i < names.Count; i++) { Console.WriteLine(names[i]); }</code>
oder, noch besser, verwenden Sie eine foreach
-Sufe, die die Iteration automatisch behandelt und Indexfehler verhindert:
<code class="language-csharp">foreach (string name in names) { Console.WriteLine(name); }</code>
IndexoutofRangeExceptions
verhindernUm diese Ausnahmen zu vermeiden:
Length - 1
oder Count - 1
). Count
oder Length
: Die Eigenschaft Count
(für Listen) oder Length
Eigenschaft (für Arrays), um die Größe der Sammlung zu bestimmen. foreach
: foreach
Schleifen vereinfachen die ITRATION und beseitigen das Risiko manueller Indexierungsfehler. try-catch
Blöcke, um potenzielle IndexOutOfRangeException
Instanzen zu verarbeiten und Anwendungsabstürze zu verhindern. Dies ermöglicht eine robustere Fehlerbehandlung. Durch das Verständnis dieser Prinzipien und Best Practices können Sie zuverlässigerer und fehlerfreier .NET-Code schreiben.
Das obige ist der detaillierte Inhalt vonWarum bekomme ich einen 'Index außerhalb des Reichweite' in meinem Code?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!