2010-11-24 59 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