2013-01-13 29 views
0

這可能是一個愚蠢的問題,但在這裏。我在我的程序這樣的說法:C#語法 - 帶索引器的類名?

// No node should be shown as selected 
mdxTreeList.Selection.Set(new TreeListNode[0]); 

變量mdxTreeList是DevExpress的XtraTreeList.TreeList控制的一個實例,TreeListNode是另一個的DevExpress類的名稱。但是,語法「new TreeListNode [0]」是什麼意思?我原以爲這是一個語法錯誤,但它工作正常。 (如果我沒有記錯,這個聲明最初來自DevExpress示例程序。)

回答

4

這是一個零長度的一維數組(即零成員)。該類型是TreeListNode[]

有些人更喜歡寫與new TreeListNode[] { }相同的東西,但這只是一個品味問題。

順便說一句,由於static indexers are not allowed in C#,這是不可能的索引器訪問。 (當然索引器是,意思是爲「看起來像」陣列,所以並非偶然,兩者都使用方括號[]語法。)

+0

當然可以。謝謝。 – RenniePet

+0

感謝您的額外評論。我的腦部故障,感覺非常尷尬。我唯一的藉口是,我剛剛試圖用「new TreeListNode()」創建一個新的TreeListNode對象,並且失敗了,說構造函數是內部的,然後我偶然注意到這個語句,其中「new」和「TreeListNode」參與其中......親愛的,哦,親愛的。 – RenniePet

4

這只是一個TreeListNode[]類型的數組,其元素爲零。

+0

是的,當然。謝謝。 – RenniePet