2011-12-24 70 views
1

我想请一些帮助。呼叫字符串或内部如果或尝试从外部

Theres可能一些令人难以置信的简单的解决方案,但当我尝试在if或try标签中声明一个值,并且我尝试从外部调用它们时,我只是得到错误'name'x'不存在当前上下文'

有什么建议吗?这里是我的意思

try { 
    bleh = 5; } 

x = bleh 

回答

2

声明你的变量在try块之外。声明一个变量允许你分配它,但它只能在scope之内访问。这是编程语言的一个基本概念,应该阅读上面链接的文章。

int bleh; 
if (somevalue == 0) 
{ 
bleh = 5; 
} 
else if (somevalue == 1) 
{ 
bleh = 2; 
} 

x = bleh 
+0

这就是问题所在,它需要在他们里面,大概早该使用,如果作为例子,但是,我们只能说,如果someValue中是0的话,我想X做了不同的计算那么如果somevalue是1.编辑:我知道你的意思^^谢谢 – user1071461 2011-12-24 15:12:17

2

在if/try之外声明它。

int bleh; 
try 
{ 
    bleh = 5; 
} 

x = bleh 
1
int bleh = 0; 
try 
{ 
    bleh = 5; 
} 
x = bleh 
1
int bleh=0; 
try 
{ 
    bleh = 5; 
} 

x = bleh 
2

您必须声明变量该范围块:

int blah; 

if (somevalue == 0) 
{ 
    bleh = 5; 
} 
else if (somevalue == 1) 
{ 
    bleh = 2; 
} 

x = bleh  

在你的代码中,变量bleh仅仅是try { }区域内可用。这对于if {},switch {},using {}等是如此。

1

您已经在try/if块内声明了变量。所以,当执行“}”行时,变量的作用域结束。你需要做这样的事情:

int bleh = 0; 
try 
{ 
    bleh = 5; 
}catch(Exception ex){} 

x = bleh