语法c#不一致?

max*_*axp 7 c# syntax

private string[] GetRoles()
{
    string[] foo = {"Test"};
    return foo;       
}
Run Code Online (Sandbox Code Playgroud)

以上编译,但......

private string[] GetRoles()
{
    return {"Test"};        
}
Run Code Online (Sandbox Code Playgroud)

才不是.

替换为:

return new string[] { "Test" };    
Run Code Online (Sandbox Code Playgroud)

显然会编译.这是不一致还是我是愚蠢的,或者我是错的:S.

Kla*_*sen 5

归功于@Luke:

第一个例子只是简写数组初始化语法.第二个例子不是合法的C#语法.

  • @Luke感谢清除它.在写答案时我手边没有编译器.但很高兴看到我得到了许多错误答案的赞成票. (2认同)