我不能使用嵌套块中声明的变量。
示例:
if(condition){
var test = "success";
{
如果我尝试使用测试变量,我会收到编译错误:
CS0103:名称'测试'在当前上下文中不存在
答案 0 :(得分:2)
要在块外部使用变量,您需要在块外声明它。
由于即使您不在块中运行代码,变量也必须具有值,您必须设置初始值:
string test = null;
if (condition) {
test = "success";
}
或使用else
块来设置值,否则:
string test;
if (condition) {
test = "success";
} else {
test = null;
}
答案 1 :(得分:0)
这是因为它是一个local
变量,只能在那些大括号中访问。不在外面。
为了使其可以在外部访问,您可能希望根据需要将其声明出函数或方法之外或页面的开头。
查看local
和global
变量以及变量scope
的概念。
应该这样做。
答案 2 :(得分:0)
你可以简单地把它写成:
var test = condition ? "success" : "failure";
...
// use test as required.
(当条件为假时,将“失败”替换为您想要测试的任何值)。