im Depthverständnis von
und IndexOutOfRangeException
ArgumentOutOfRangeException
und
sind gemeinsame Abnormalitäten in C#.
IndexOutOfRangeException
Der Zeitpunkt des abnormalen Auftretens ArgumentOutOfRangeException
Arrays: Der Zugriff auf die Anzahl der Anzahl der Anzahl überschreitet die obere oder untere Grenze des Arrays. Das Array in C#basiert auf 0, was bedeutet, dass der Index des ersten Elements 0 ist.
Indexattribute: - Verwenden Sie ungültige Indexeinstellungen oder Zugriffsattribute. Wenn beispielsweise eine Klasse über ein Indexattribut "Elemente" bezeichnet wird, wird der Zugriff auf Elemente [6] in einer Klasse mit nur 5 Projekten Abnormalitäten verursachen.
Liste (Liste
): - Der Zugriffsbereich überschreitet [0, list.count -1].
Datenquelle:
Versuchen Sie, Spalten gemäß dem Index im IDAREADER oder in einer ähnlichen Datenquelle zuzugreifen, und die Spalte existiert nicht oder ist falsch. -
Häufige Gründe
-
"Cross - -beliebige" Fehler oder Berechnungsfehler treten beim Zugriff auf Indexe auf.
Angenommen, die Obergrenze des Arrays ist enthalten.
Verwenden Sie ungültige Parameter oder Nichtteger -Indizes.
Lifn die Initialisierung oder Überprüfungseingabe, bevor Sie versuchen, auf den Satz zuzugreifen.
- wie man
- vermeidet
- Überprüfen Sie alle Eingabeindizes und Parameter, bevor Sie auf den Satz zugreifen.
- Überprüfen Sie die Array -Länge und die Listenzahl, bevor Sie auf das Element zugreifen.
Wenn Sie in Array oder Liste iteriert sind, geben Sie den Zyklus der Grenze klar an.
Erwägen Sie, eine Sammelklasse wie Liste zu verwenden, sie ermöglichen Grenzüberprüfungen während der Zusammenstellung.
Stellen Sie sicher, dass das Indexattribut eine starke Überprüfungsfunktion hat, um einen ungültigen Zugriff zu verhindern. -
- wie man
- debugug
- Verwenden Sie das Debugging -Tool, um den Haltepunkt auf die abnormale Position einzustellen.
Überprüfen Sie die Stapelverfolgung, um die problembedingte Codezeile zu identifizieren. -
Überprüfen Sie den Eingangswert, der zum Zugriff auf den Satz verwendet wird.
Überprüfen Sie, ob die Sammlung des Beitritts korrekt initialisiert und gefüllt ist.
Stellen Sie sicher, dass die benutzerdefinierte Indexierungslogik korrekt implementiert wurde und die Kantenbedingungen behandelt hat.
- Die Unterschiede zwischen vb.net
-
VB.NET Array Deklaration verwendet den größten Index anstatt zu zählen. Daher liegt der effektive Index eines Arrays mit einer Größe N von 0 bis n-1. Versuchen Sie, auf Indexe zuzugreifen, die über oder gleich N -Normalitäten von mehr oder gleich n zugreifen. -
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen IndexoutoFrangeException und ArgumentoutoFrangeException in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!