相关疑难解决方法(0)

如何初始化var?

我可以用null或一些空值初始化var吗?

c# initialization

56
推荐指数
7
解决办法
19万
查看次数

为什么我们不能在if语句中定义变量?

也许这个问题之前已经得到了回答,但是这个词if经常出现,很难找到它.

这个例子没有意义(表达式总是正确的),但它说明了我的问题.

为什么此代码有效:

StringBuilder sb;
if ((sb = new StringBuilder("test")) != null) {
    Console.WriteLine(sb);
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码不是:

if ((StringBuilder sb = new StringBuilder("test")) != null) {
    Console.WriteLine(sb);
}
Run Code Online (Sandbox Code Playgroud)

我发现了一个关于while声明的类似问题.那里接受的答案说,在一个while声明中,它意味着变量将在每个循环中定义.但是对于我的if陈述例子,情况并非如此.

那么我们不允许这样做的原因是什么?

c# scope language-design

47
推荐指数
4
解决办法
3万
查看次数

标签 统计

c# ×2

initialization ×1

language-design ×1

scope ×1