Unterschiede zwischen veränderbaren und nicht veränderbaren Argumenten (Visual Basic)
Wenn Sie eine Prozedur aufrufen, übergeben Sie in der Regel Argumente an sie. Jedes Argument entspricht einem zugrunde liegenden Programmierelement. Sowohl die zugrunde liegenden Elemente als auch die eigentlichen Argumente können veränderbar oder nicht veränderbar sein.
Veränderbare und nicht veränderbare Elemente
Ein Programmierelement kann ein veränderbares Element sein, dessen Wert geändert werden kann, oder ein nicht veränderbares Element, das nach der Erstellung einen festen Wert aufweist.
In der folgenden Tabelle sind veränderbare und nicht veränderbare Programmierelemente aufgeführt.
Veränderbare Elemente | Nicht veränderbare Elemente |
---|---|
Lokale Variablen (deklariert innerhalb von Prozeduren), einschließlich Objektvariablen, mit Ausnahme von schreibgeschützten Variablen | Schreibgeschützte Variablen, Felder und Eigenschaften |
Felder (Membervariablen von Modulen, Klassen und Strukturen), ausgenommen schreibgeschützte | Konstanten und Literale |
Eigenschaften, mit Ausnahme von schreibgeschützten | Enumerationsmember |
Arrayelemente | Ausdrücke (auch wenn ihre Elemente änderbar sind) |
Veränderbare und nicht veränderbare Argumente
Ein veränderbares Argument ist ein Argument mit einem veränderbaren zugrunde liegenden Element. Der aufrufende Code kann jederzeit einen neuen Wert speichern, und wenn Sie das Argument ByRef übergeben, kann der Code in der Prozedur auch das zugrunde liegende Element im aufrufenden Code ändern.
Ein nicht veränderbares Argument verfügt über ein nicht veränderbares zugrunde liegendes Element oder wird von ByVal übergeben. Die Prozedur kann das zugrunde liegende Element im aufrufenden Code nicht ändern, auch wenn es sich um ein veränderbares Element handelt. Wenn es sich um ein nicht veränderbares Element handelt, kann es vom aufrufenden Code selbst nicht geändert werden.
Die aufgerufene Prozedur kann ihre lokale Kopie eines nicht veränderbaren Arguments ändern, diese Änderung wirkt sich jedoch nicht auf das zugrunde liegende Element im aufrufenden Code aus.
Weitere Informationen
- Vorgehensweisen
- Parameter und Argumente von Prozeduren
- Vorgehensweise: Übergeben von Argumenten an eine Prozedur
- Übergeben von Argumenten als Wert und als Verweis
- Unterschiede zwischen dem Übergeben von Argumenten als Wert und als Verweis
- Vorgehensweise: Ändern des Werts eines Prozedurarguments
- Vorgehensweise: Schützen eines Prozedurarguments gegen Wertänderungen
- Vorgehensweise: Erzwingen, dass ein Argument als Wert übergeben wird
- Übergeben von Argumenten nach Position und Name
- Value Types and Reference Types