Stimmt. In der Tat werden Primitifs (schliesslich heissen Sie ja stack variables ;)) lediglich auf dem Stack behandelt. Aber sie muessen erst erstellt werden. Dieser Prozess ist der der die Sache verlangsamt. Ein Beispiel:

string a = "yy"

a = a + "zz""; Was passiert? a wird in der ersten Zeile zum erstem mal erzeugt. In der zweiten Zeile wird nun festgestellt, dass die Groesse von a veraendert wird. Da aber die Groesse eines Strings nicht veraenderbar ist, wird nun a mit der veraenderten Groesse neu erzeugt. Das dieses ein Langwieriger Prozess ist, laesst sich leicht ueberpruefen. Man schreibt zwei Methoden. Eine, die ueber Concatenation arbeitet und eine die mit StringBuilder arbeitet (was keine Neuerstellung von a erfordert).

 

Was laesst sich also daraus folgern? Wenn Du in einer Methode die Variablen bereits erstellt hast (was der aufwendige Teil ist) und diese Variablen einer Methode als Referenz uebergibst (Referenzen sind extrem optimiert hierfuer), sparst Du die Neuerstellung. Die Ressourcen sparst Du nicht durch die Groesse, sondern durch die Vermeidung der Neuerstellung von redundanten Variablen.

 

Das alles laesst sich sehr leicht ueberpruefen, indem dieser Prozess einfach (z.B. durch eine Schleife x mal wiederholt wird. Einfach ein TimeStamp vor und nachher setzen.

 

-----Message d'origine-----
De : Phillip Hübner [mailto:[EMAIL PROTECTED]
Envoyé : vendredi 11 juillet
2003 18:31
À : [EMAIL PROTECTED]
Objet : [Asp.net] Viewstate Problem

 

Hi,

ich möchte einen einfachen löschen button bauen der die ganzen Daten in einem Formular entfernt.

Habe einen button mit onclick Event und einen passenden Event Handler der den Event abfängt.

Nur weiß ich nicht wie ich den Viewstate löschen kann.

Mit ViewState.clear() gehts nicht.

Kann es sein das das onclick Event des Buttons ausgeführt wird bevor der Viewstate mit den Formular Elementen verbunden wird, oder hab ich überhaupt einen Denkfehler?

 

Danke,

Phillip

 

 

 

Antwort per Email an