2010-11-24 56 views
2

我目前自学C#,但我通过以下语法困惑:A C#语法问题

new Deck(new Card[] {}) 

在甲板构造是这样的:

public Deck(IEnumerable<Card> initialCards) 

什么是{}有点意思?

回答

10

它是一个array initializer,并在此实例中初始化一个空数组。

它也可以被使用如下:

int[] bling = new [] { 1, 2, 3 }; 

int[] bling = { 1, 2, 3 }; 
0

它是一个集合初始化,可以使用如下

new Card[] { 
    new Card(), 
    new Card(), 
    new Card() 
}; 

要initilise的阵列长度为3的卡片包含三个卡片对象。如你所知,它将是一个空阵列。

+5

我认为这个术语[数组初始化(http://msdn.microsoft.com/en-us/library/aa664573%28VS.71%29.aspx) 。 [集合初始值设定项](http://msdn.microsoft.com/en-us/library/bb384062.aspx)通过调用`Add`工作,这对数组没有任何意义。 – 2010-11-24 23:35:26

-5

它初始化一个空array.If你有一个这样的类:

class student { 
    private string name; 
    private int age; 
} 

可以初始化此:

student a = new student { name = "a", age = 10}; 

对不起,我上面的错误。你可以用来初始化学生的数组:

student[] students = new student[] {new student {name = "a", age = 10}, new student {name = "b", age = 20 }}; 
+1

这是正确的,但有点旁边。 – 2010-11-24 23:36:56