为if语句声明字符串

时间:2016-05-12 06:11:12

标签: c# string winforms if-statement declare

我有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"};
}

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

4 个答案:

答案 0 :(得分:6)

您只能声明myString

string[] myString = null;

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

答案 1 :(得分:2)

如果声明为全局

,请在myString之外进行声明
string[] myString;

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

答案 2 :(得分:2)

您在if语句之外声明它,省略了作业部分:

string[] myString;

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

答案 3 :(得分:1)

您的问题是两次声明相同的变量,而变量未在公共范围内定义。尝试这个..如果你的要求没有必要,因为我删除了

string[] myString = null;

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