Tom*_*asi 18 .net debugging visual-studio
这可以节省我这么多时间.有时我发现自己在手表或即时窗口中写这样的东西:
MyObject.Function1.Fuction2.Fuction3.Fuction2
Run Code Online (Sandbox Code Playgroud)
相反,我可以声明几个新变量,并以更结构化的方式执行此操作.
但是不允许这样做.
有什么方法可以做到这一点吗?在未来的版本中是否会支持我想要的东西?
huh*_*uha 35
刚回答标题中的问题:
在VS2015中,您可以在即时窗口中声明变量.但是你必须用分号结束你的命令:
var abc = "abcdef";
Expression has been evaluated and has no value
Run Code Online (Sandbox Code Playgroud)
要么
var n = 7;
Expression has been evaluated and has no value
Run Code Online (Sandbox Code Playgroud)
要么
int o = 8;
Expression has been evaluated and has no value
Run Code Online (Sandbox Code Playgroud)
要显示结果,只需键入变量的名称:
abc
"abcdef"
Run Code Online (Sandbox Code Playgroud)
要么
?abc
"abcdef"
Run Code Online (Sandbox Code Playgroud)
要么
?abc;
"abcdef"
Run Code Online (Sandbox Code Playgroud)
要么
abc;
"abcdef"
Run Code Online (Sandbox Code Playgroud)
使用 C#,您可以在调试期间在即时窗口中声明变量(老实说,我不知道它是否只是 VS2008 功能,但我刚刚在 VS2008 团队版中验证了它)。
您不能在 Watch 窗口中声明变量(实际上错误消息说“声明语句只允许在立即窗口中使用”)但您可以查看您在立即窗口中创建的任何变量。
此外,您不能var
在立即窗口中声明变量时使用,但除此之外,您可以执行您所要求的操作。
对@huha 答案的澄清。如果你看到error CS0726: '' is not a valid format specifier
你可能只是忘记了一个.semicolon
;
例子:
DateTime t = DateTime.Parse("2020-01-01 00:00:00")
error CS0726: 't' is not a valid format specifier
t
error CS0103: The name 't' does not exist in the current context
DateTime t = DateTime.Parse("2020-01-01 00:00:00");
Expression has been evaluated and has no value
t
{2020-01-01 00:00:00}
Date: {2020-01-01 00:00:00}
Day: 1
DayOfWeek: Wednesday
DayOfYear: 1
Hour: 0
Kind: Unspecified
Millisecond: 0
Minute: 0
Month: 1
Second: 0
Ticks: 637134336000000000
TimeOfDay: {00:00:00}
Year: 2020
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11188 次 |
最近记录: |