用三元运算符初始化C#数组?

用三元运算符初始化C#数组?,c#,.net,ternary-operator,C#,.net,Ternary Operator,它们在C语言中似乎不起作用# 我缺少什么?试试这个: string[] directions = IsSomeValueTrue ? new string[] {"RIGHT", "LEFT"} : new string[]{"UP", "DOWN"}; 试试这个: string[] directions = IsSomeValueTrue ? new string[] {"RIGHT", "LEFT"} : new string[]{"UP", "DOWN"}; 试试这个: string[

它们在C语言中似乎不起作用#

我缺少什么?

试试这个:

string[] directions = IsSomeValueTrue ? new string[] {"RIGHT", "LEFT"} : new string[]{"UP", "DOWN"};
试试这个:

string[] directions = IsSomeValueTrue ? new string[] {"RIGHT", "LEFT"} : new string[]{"UP", "DOWN"};
试试这个:

string[] directions = IsSomeValueTrue ? new string[] {"RIGHT", "LEFT"} : new string[]{"UP", "DOWN"};
试试这个:

string[] directions = IsSomeValueTrue ? new string[] {"RIGHT", "LEFT"} : new string[]{"UP", "DOWN"};

最短的一行:

var dirs = IsSomeValueTrue ? new[] {"RIGHT", "LEFT"} : new[] {"UP", "DOWN"};

最短的一行:

var dirs = IsSomeValueTrue ? new[] {"RIGHT", "LEFT"} : new[] {"UP", "DOWN"};

最短的一行:

var dirs = IsSomeValueTrue ? new[] {"RIGHT", "LEFT"} : new[] {"UP", "DOWN"};

最短的一行:

var dirs = IsSomeValueTrue ? new[] {"RIGHT", "LEFT"} : new[] {"UP", "DOWN"};

现在,您正在尝试编译代码以确保其运行良好…好的,刚才看到了您更新的问题,如果您的第二个语句不起作用,我要问的是哪里更具体?…如果它不编译,您没有创建IsSomeValueTrue(非常,非常遥远的可能性),或者您的值总是{“向上”,“向下”}?如果是这种情况,可能您没有分配变量,并且它默认为false。现在您缺少实际尝试编译代码以确保其运行良好…好的,刚才看到您更新的问题,如果您的第二个语句不起作用,我要问的是哪里更具体?…如果它没有编译,您没有创建IsSomeValueTrue(非常,非常遥远的可能性),或者您的值总是{“向上”,“向下”}?如果是这种情况,可能您没有分配变量,并且它默认为false。现在您缺少实际尝试编译代码以确保其运行良好…好的,刚才看到了您更新的问题,如果您的第二个语句不起作用,我要问到哪里更具体?…如果它没有编译,您没有创建IsSomeValueTrue(非常,非常遥远的可能性),或者您的值总是{“向上”,“向下”}?如果是这种情况,可能您没有分配变量,并且它默认为false。现在您缺少实际尝试编译代码以确保其运行良好…好的,刚才看到了您更新的问题,如果您的第二个语句不起作用,我要问到哪里更具体?…如果它没有编译,您没有创建IsSomeValueTrue(非常,非常遥远的可能性),或者你的值总是{“向上”,“向下”}?如果是这种情况,你可能没有分配变量,它默认为false。是的,第一个答案(在4或5个其他值之后)这其实很好,但你到底在回答什么呢?OP代码的第二个版本编译得很好…@BartoszKP,看起来问题已经更新了…是的,第一个答案(在其他4或5个之后)这其实很好,但你到底在回答什么呢?OP代码的第二个版本编译得很好…@BartoszKP,看起来问题已经更新了…是的,第一个答案(在其他4或5个之后)这其实很好,但你到底在回答什么呢?OP代码的第二个版本编译得很好…@BartoszKP,看起来问题已经更新了…是的,第一个答案(在其他4或5个之后)这其实很好,但你到底在回答什么?OP代码的第二个版本编译得很好…@BartoszKP,看起来问题已经更新了。。。