无效的表达式术语'{'(在switch语句外声明数组)

时间:2015-12-28 20:09:18

标签: c# arrays

我已经为程序启动了算法,并且我已经在方法本身中声明了数组。但是,当我在switch语句中引用数组时,我得到重复错误:无效的表达式术语'{'和'{'expect和';'预期 以下是代码:

algorithm()
{
code .....
int[] interval;
more code....
switch (int.parse(lbl2.text))
    {
    case 1:
        sInterval = {10, 20, 30, 40};
        break;
    case 2:
        sInterval = { 50, 60, 70, 80};
        break;
    }
}

你如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

正确的语法是new int[]{10, 20, 30, 40}

答案 1 :(得分:0)

法比奥的回答是正确的。但是,它可用于进一步改进您的代码:

var sIntervals = new Dictionary<int, int[]>()
{
    { 1, new[] { 10, 20, 30, 40} },
    { 2, new[] { 50, 60, 70, 80} },
    // you can easily add intervals here
};

// you can get interval simple like this
// var sInterval = sIntervals[1];

下一步是将parse替换为tryparse,以避免例外。