如何使用C#中的switch case初始化具有各种值的double数组

时间:2015-07-15 04:52:28

标签: c# arrays

我对阵列有一点疑问。我正在尝试实现一个单维数组,如下所示。

double [] test1; 
int value; // Which I will get it from DB
Switch (value){

case 1:
test1 = {1, 0, 0,1};
break;
case 2;
test1 = {0, 0, 0,1};
break;
case 3;
test1 = {0, 0, 1,1};
break;
case 4;
test1 = {1, 0, 1,1};
break;

}

我明白我所做的是VS的错误,但我找不到正确的方法。

任何人都可以帮我解决这个问题。

谢谢。

4 个答案:

答案 0 :(得分:0)

你很接近,你只需要使用new来初始化数组:

double [] test1; 
int value; // Which I will get it from DB
Switch (value){
case 1:
  test1 = new double[] {1, 0, 0,1};
  break;
case 2:
  test1 = new double[] {0, 0, 0,1};
  break;
case 3:
  test1 = new double[] {0, 0, 1,1};
  break;
case 4:
  test1 = new double[] {1, 0, 1,1};
  break;
}

答案 1 :(得分:0)

有两个直接问题:

  1. 每个案例陈述末尾的分号而不是冒号
  2. 每个数组定义开头缺少'new double []'
  3. e.g。

            double[] test1;
            int value = 1; 
            switch (value)
            {
                case 1:
                    test1 = new double[] { 1, 0, 0, 1 };
                    break;
                case 2:
                    test1 = new double[] { 0, 0, 0, 1 };
                    break;
                case 3:
                    test1 = new double[] { 0, 0, 1, 1 };
                    break;
                case 4:
                    test1 = new double[] { 1, 0, 1, 1 };
                    break;
            }
    

答案 2 :(得分:0)

在你设置test1的case语句中,确保在初始化时创建一个新的double []:

...
case 1:
test1 = new double [] { 0, 0, 0, 1 };
break;
...

答案 3 :(得分:0)

您必须指定其数组。使用Adjacency Matrix关键字创建一个新数组。你也可以这样做。

new