【发布时间】:2016-08-25 05:25:54
【问题描述】:
我刚遇到这个问题。据我所知,“str1”不应该是一个局部变量,我可以在 using 代码块之外创建一个同名的新变量吗?
当然,我可以创建一个具有不同名称的变量并继续前进,但这真的让我很困扰。有人可以解释一下吗?
public int Execute(string sql, params SqlParameter[] parameters)
{
try
{
this.AddSql(sql, parameters);
using (var cmd = new SqlCommand(sql, this.connection))
{
var str1 = "";
}
//var str1 =""; // error because variable str1 is used above
//str1 =""; // this also causes an error because "Can not resolve symbol 'str1'"
}
catch (Exception e)
{
//...
}
return 0;
}
【问题讨论】:
-
所以澄清一下,您不能在 using 结构之外创建名称为“str1”的局部变量?
标签: c# local-variables using-statement