Heim >Backend-Entwicklung >C++ >Warum tritt in C#eine IndexoutoFrangeException auf?
InnexoutoFrangexception im C#
IndexoutoFrangeException tritt beim Versuch auf, auf das Array zuzugreifen oder das Element des effektiven Indexbereichs in der Sammlung festzulegen. Dies bedeutet, dass der von Ihnen verwendete Index unter die obere Grenze der Untergrenze oder höher als (oder gleich) ist. Der Zeitpunkt des abnormalen Auftretens
Betrachten Sie ein Array namens
, Größe 4:
Zugriffsindex 0 bis 3 ist gültig, aber der Versuch, auf zuzugreifen, löst IndexoutoFrangexception -Anomalien aus. array
<code class="language-csharp">byte[] array = new byte[4];</code>
array[4]
<.> 1. Die Länge des Arrays
Das Array basiert auf 0, so dass der Index des ersten Elements 0 ist und der Index des letzten Elements Länge -1 ist.
Vermeiden Sie die Verwendung von Indexzugriffselementen, die der Länge gleich sind, z. B. .
array[array.Length] = 0;
-Array -Index enthält nicht die oberen Grenzen. Zugriff verwendet werden.
<.> 3. Das Array wächst nicht automatischpixels[imageWidth, imageHeight]
<.> 4. Customized Array Grenze
Array.Resize<T>()
Überprüfen Sie die Parameter, die die Funktion eingeben oder an die Funktion übergeben haben, um den Zugriff auf Indizes über den Bereich hinaus zu verhindern.
Die Suchfunktion kann -1 an die ungewöhnlichen Elemente zurückgeben. Behandlung dieser Situationen, um Anomalien beim nachfolgenden Array -Zugang zu vermeiden.
Stellen Sie beim Zugriff auf Daten aus der Datenbank mit IDAREADER sicher, dass Sie effektive Spaltenindizes bereitstellen.
wie man
vermeidetVerwenden Sie die Überprüfung oder Objektzustand, um die richtige Voraussetzung zu gewährleisten.
Überprüfen Sie die Stapelverfolgung, um die Anomalienlinie zu bestimmen. Überprüfen Sie das relevante Array und die Indizes, um sicherzustellen, dass sie sich im effektiven Bereich befinden.
Das obige ist der detaillierte Inhalt vonWarum tritt in C#eine IndexoutoFrangeException auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!