new [] {string}语法是什么意思?

时间:2015-05-04 20:43:36

标签: c# .net

我在ASP.NET MVC中学习了一本带有会员主题的书,我找到了语法,我无法追踪(并且没有在书中解释),这是:

new[] {"string"}

喜欢在:

Roles.AddUsersToRoles(new[] {userName}, new[] {roleName});

每个MDSN库我看到Roles.AddUsersToRoles方法将两个字符串数组作为参数,所以这可能是一个简写,还是会有一些额外的功能?

2 个答案:

答案 0 :(得分:8)

Implicitly Typed Arrays语法。

  

您可以创建一个隐式类型的数组,其中包含类型   数组实例是从数组中指定的元素推断出来的   初始化程序。

这个

string[] stringArray = new[] {"string"};

与:

相同
string[] stringArray = new string[] {"string"};

需要注意的是,方法Roles.AddUsersToRoles接受字符串类型数组(而不是字符串)的两个参数。

public static void AddUsersToRoles(
    string[] usernames,
    string[] roleNames
)

答案 1 :(得分:2)

new string[1] { "string" }

您可以省略数组大小,因为编译器可以为您计算元素数量:

new string[ ] { "string" }

您也可以省略数组元素类型,因为编译器可以从提供的值推断它:

new       [ ] { "string" }

anonymous types的初始化程序混淆。这些在[]之后没有尖括号new

new { StringProperty = "string" }

或:

// string StringProperty;
new { StringProperty }