如何使用if语句中声明的变量?

Rob*_*Rob 1 c# sql

上次我有一个类似的问题,但我们想出如果在逻辑语句之前初始化并设置变量的值,那么我可以使用逻辑语句中生成的值.

这次,我想调用两个方法重载中的一个,具体取决于连接字符串是否为空.像这样.

if (ConnectionString != "") // if there is something in the config file work with it
{
  SqlConnection dataConnection = new SqlConnection(ConnectionString);
}
else
{
  SqlConnection dataConnection = new SqlConnection();
}

try {
  // ...
Run Code Online (Sandbox Code Playgroud)

问题是try块中的任何内容都会失败,因为它不知道dataConnection.

我怎么能以一种方式使它工作?

CD.*_*D.. 5

你可以这样做:

SqlConnection dataConnection = !string.IsNullOrEmpty(ConnectionString)
    ? new SqlConnection(ConnectionString) :  new SqlConnection();
Run Code Online (Sandbox Code Playgroud)

要么:

SqlConnection dataConnection;
if (string.IsNullOrEmpty(ConnectionString))
{
    dataConnection = new SqlConnection(ConnectionString);
}
else
{
    dataConnection = new SqlConnection();
}
Run Code Online (Sandbox Code Playgroud)