当前位置:  开发笔记 > 开发工具 > 正文

如何在Visual Studio中使用立即窗口?

如何解决《如何在VisualStudio中使用立即窗口?》经验,为你挑选了3个好方法。

立即窗口是一个非常有用的调试应用程序的工具.它可用于执行在断点上下文中有效的代码语句并检查值.我还用它来输入代码片段来学习语言功能.

你如何使用立即窗口?



1> Ray Vega..:

Visual Studio中立即窗口的一个很好的功能是它能够评估方法的返回值,特别是如果客户端代码调用它,但它不是变量赋值的一部分.在调试模式中,如上所述,您可以与变量交互并在内存中执行表达式,这在能够执行此操作中起着重要作用.

例如,如果您有一个静态方法,它返回两个数字的总和,例如:

private static int GetSum(int a, int b)
{
    return a + b;
}

然后在立即窗口中,您可以键入以下内容:

? GetSum(2, 4)
6

如您所见,这对于静态方法非常有效.但是,如果该方法是非静态的,那么您需要与方法所属的对象的引用进行交互.

例如,假设这是您的班级的样子:

private class Foo
{
    public string GetMessage()
    {
        return "hello";
    }
}

如果对象已经存在于内存中,并且它在范围内,那么只要当前断点之前已经实例化(或者至少在调试模式下代码暂停之前),就可以在立即窗口中调用它:

? foo.GetMessage(); // object ‘foo’ already exists
"hello"

此外,如果您想直接交互并测试方法而不依赖于内存中的现有实例,那么您可以在立即窗口中实例化您自己的实例:

? Foo foo = new Foo(); // new instance of ‘Foo’
{temp.Program.Foo}
? foo.GetMessage()
"hello"

您可以更进一步,如果您想进行进一步的评估,计算等,可以暂时将方法的结果分配给变量:

? string msg = foo.GetMessage();
"hello"
? msg + " there!"
"hello there!"

此外,如果您甚至不想为新对象声明变量名,只想运行其中一个方法/函数,那么执行以下操作:

? new Foo().GetMessage()
"hello" 

查看方法值的一种非常常见的方法是选择类的方法名称并执行"添加监视",以便您可以在"监视"窗口中查看其当前值.但是,再一次,需要实例化对象并在范围内显示有效值.这比使用立即窗口强大得多,限制性更强.

除了检查方法,您还可以做简单的数学方程式:

? 5 * 6
30

或比较值:

? 5==6
false
? 6==6
true

如果你直接在立即窗口中,问号('?')是不必要的,但为了清楚起见,它包括在这里(区分表达式和结果的类型.)但是,如果你在命令窗口并且需要在立即窗口中做一些快速的东西,然后在你的语句前面加上'?' 然后你走吧

Intellisense在立即窗口中工作,但有时可能有点不一致.根据我的经验,它似乎只能在调试模式下使用,但不能在设计,非调试模式下使用.

不幸的是,立即窗口的另一个缺点是它不支持循环.



2> CJBS..:

使用立即窗口执行命令

立即窗口也可用于执行命令.只需键入a >后跟命令即可.

在此输入图像描述

例如,>shell cmd将启动一个命令shell(例如,这可以用于检查传递给Visual Studio的环境变量).>cls将清除屏幕.

这是一个常用的命令列表,它们有自己的别名:https://msdn.microsoft.com/en-us/library/c3a0kd3x.aspx


好小费.实际上,这与我使用的另一个技巧完美结合:`> open Filename`将打开解决方案中的选定文件,甚至还有文件名完成.

3> 小智..:

立即窗口用于调试和计算表达式,执行语句,打印变量值等.它允许您在调试期间输入要由开发语言评估或执行的表达式.

要显示立即窗口,请选择Debug> Windows> Immediate或按Ctrl-Alt-I

在此输入图像描述

以下是立即窗口的示例:

int Sum(int x, int y) { return (x + y);}
void main(){
int a, b, c;
a = 5;
b = 7;
c = Sum(a, b);
char temp = getchar();}

添加断点

在此输入图像描述

调用命令

在此输入图像描述

https://msdn.microsoft.com/en-us/library/f177hahy.aspx

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有