2009-03-13 7 views
0

Ich habe in C# für die Mehrheit meiner .NET-Karriere programmiert - jetzt arbeite ich an einem VB.net-Projekt - beim Debuggen treibt mich die Unterschiede wie das Debuggen wahnsinnig .VB.NET Debugging machen wie C#

zwei aus der Spitze von meinem Kopf

1), mit meinen unmittelbaren Fenstern Anfragen an dem Präfix?

2) nicht auf die Maus über eine GUID in der Lage, ich? MyGuid.ToString()

den Wert tatsächlich zu sehen, gibt es eine Möglichkeit, ich kann es wie C# verhalten?

Antwort

5

1 wird von VB und C# unterstützt. Wenn Sie eine direkte Fensterabfrage mit? Voranstellen, sagen Sie "Bitte evaluieren Sie einen Ausdruck". In der Abwesenheit von a wird alles, was Sie eingeben, als Aussage ausgewertet. Das macht einen großen Unterschied in den folgenden zwei Zeilen

? a = b 
a = b 

Die erste ist eine Vergleichsoperation und die zweite ist eine Zuordnung.

Wie für die zweite Ausgabe. Ja, das ist eine unglückliche Erfahrung für die aktuelle Version von VS. Die nächste Version von VS behebt dieses Problem (und einige andere im Debug-Bereich).

Es gibt eine Arbeit für VS2008 (und wahrscheinlich VS2005), mit der Sie das Problem umgehen können. Sie können ein benutzerdefiniertes DebuggerDisplay für GUID hinzufügen, das .ToString für das Objekt aufruft. Ich schrieb eine Weile einen Blog-Post wieder nach oben, wie diese

Die

http://blogs.msdn.com/jaredpar/archive/2007/09/28/customzing-displays-in-the-debugger-for-system-types.aspx

1

zu erreichen? ist ein Überbleibsel aus der ursprünglichen BASIC-Sprache, wo? war eine Abkürzung für die PRINT-Anweisung. Ich nehme an, den Wert einer Variablen zu DRUCKEN ist wie die Abfrage nach den Ergebnissen (oder das Stellen einer Frage), daher das Fragezeichen.

Ich habe auf mehrere Versionen von Visual Basic gehofft, die überholte Schlüsselwörter wie?, PRINT und REM würden still verblassen, aber sie haben nicht ... noch.