2016-05-12 7 views
0

私はcheckBox1を持っており、そのcheckBox1状態に応じて文字列を作成する必要があります。if文の文字列を宣言する

CheckBox1を私は必要とチェックされていない:

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

そしてCheckBox1をが、私は必要なチェックされている場合:

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

声明

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

問題がある場合は、私が使用しようとしましたif文ではmyStringが宣言されているので、後で使用することはできません。私は文の前にmyStringを宣言する方法を知らないので、if文でそれを変更することができます。

+0

宣言は、その後のmyString =新しい文字列[] {値}が – Vegz

答えて

6

作るためにあなたが割り当て部分を残すことによってif文の外側には、それを宣言するだけ

string[] myString = null; 

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

あなたも出て残すことができないことを取り除くためにあなたの条件に必要でない場合は、他のように見えるよう...これを試してみてくださいmyString = new [] {"a"、 "b"、 "c"}; 'を指定すると、' string 'キーワードが返されます。 –

1

は、それがグローバル

string[] myString; 

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

たらmyStringを宣言することができますif文の外あなたmyString宣言を行います。

string[] myString; 

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

あなたの問題は同じ変数を2回宣言し、変数はパブリックスコープで定義しません。私は/他の場合は前MYSTRING

string[] myString = null; 

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