为 if 语句声明字符串

Declaring string for if statement

我有 checkBox1,我需要根据该 checkBox1 状态创建一个字符串。

当未选中checkBox1时我需要:

string[] myString = {"1","2","3"};

如果选中了 checkBox1,我需要:

string[] myString = {"a","b","c"};

我试过使用 if 语句

if (checkBox1.Checked)
{
    string[] myString = {"a","b","c"};
}
else if (!checkBox1.Checked)
{
    string[] myString = {"1","2","3"};
}

问题是 myString 是在 if 语句中声明的,所以我以后不能使用它。我不知道如何在if语句之前声明myString,以便我可以在if语句中修改它。

让你 myString 在 if 语句之外声明使其成为全局

string[] myString;

if (checkBox1.Checked)
{
    myString = new string[]{"a","b","c"};
}
else if (!checkBox1.Checked)
{
    myString = new string[]{"1","2","3"};
}

您只能声明myString一次

string[] myString = null;

if (checkBox1.Checked)
{
    myString = new string[] { "a", "b", "c" };
}
else
{
    myString = new string[] { "1", "2", "3" };
}

您通过省略赋值部分在 if 语句之外声明它:

string[] myString;

if (checkBox1.Checked)
{
    myString = new string[]{"a","b","c"};
}
else if (!checkBox1.Checked)
{
    myString = new string[]{"1","2","3"};
}

您的问题是两次声明同一个变量,但变量未在 public 范围内定义。试试这个 .. 如果你的要求不是必需的,因为我删除了那个

string[] myString = null;

    if (checkBox1.Checked)
    {
        myString = new string[] { "a", "b", "c" };
    }
    else  
        myString = new string[] { "1", "2", "3" };
    }