2016-12-27 4 views
0

Ich muss einen String in Int konvertieren und ich kann keine Lösung finden, da ich ein Problem habe, das nur auf einer Maschine präsentiert wird, während auf den anderen 2 es gut funktioniert.Problem bei der Umwandlung von String in Int

enter image description here

Wie aus dem Screenshot zu sehen, "2778" String-Wert umgewandelt 2778 auf Int, aber wenn ich im Debug-Modus fortsetzen, ist my_id_int Variable 0x00000ada und Session-Variablen zu offensichtlich gleich. Ich habe bereits versucht, Int.Parse Methode verwenden oder direkt Int-Wert auf ASPxGridView Spalte ohne Erfolg verwenden, während auf den anderen Maschinen es immer gut funktioniert. Vielleicht gibt es eine bestimmte Einstellung in Visual Studio oder etwas ähnliches.

aktualisiert

Dies ist nicht nur ein optisches Problem, wenn ich Session-Wert auf einer anderen Seite abrufen Ich brauche eine Abfrage mit int-Wert laufen, aber es nicht wie erwartet funktionieren.

int my_id = (Int32)Session[SESSION_ID_INTERNO_KEY]; 
// valorized as 0x00000b09 

string sql = " select * from table where id = @my_id "; 
... 
+5

'0x00000ada' hexadezimal für' 2778' ist, so dass das Programm korrekt funktioniert. – Renzo

+0

Welchen Fehler bekommen Sie? –

+1

'0xada' ist 2778. Es ist nur der Debugger zeigt es in hexadezimaler Form. Der Debugger formatiert gerade die Nummer während der Anzeige, hat aber den gleichen Wert. Wenn Sie nicht möchten, dass der Debugger Dinge in Hex zeigt, dann schalten Sie ihn aus – vcsjones

Antwort

4

Uncheck hexadezimale Anzeige im Debug-Modus:

enter image description here

+1

Danke, aber ich kann nicht verstehen, warum es jetzt funktioniert. Dies ist nur eine Anzeigeoption und sollte das Programmverhalten nicht ändern. Wenn ich die hexadezimale Anzeige deaktiviere, kann ich den int-Wert sehen und meine Abfrage kann Daten korrekt abrufen! Wenn ich das hexadezimale Display-Modell aktiviere, geschieht dies nicht: / – lubilis

Verwandte Themen