2010-07-29 17 views
3

在C#3.0中,當我以下面的方式將一個字符串數組傳遞給一個方法時,我定義它們的順序會保留還是存在順序可以改變的條件?這是記錄在哪裏,我沒有看到?新定義的C#數組的順序

CalculateOmniturePageName(new[] { Model.GetOmnitureDomain(), Model.SectionTitle, Model.Title }) 

回答

10

該訂單是固定的。第一項是索引0,下一項是索引1,依此類推。它在spec中定義,請參閱section 12.6

表達式以遞增的順序初始化數組元素,從索引爲零的元素開始。

整個(帶註釋)spec is available in dead-tree form,是一個令人驚訝的容易和啓發閱讀。

+0

已添加到閱讀列表中。 ;-) – Mattio 2010-07-29 03:11:34

0

像你一樣使用的數組總是按照你放入的順序排序。這與散列表,或者集合或者字典對比,它們將沒有特定的順序。還有其他'無序'收集類型,但這足以說明我的觀點。另一方面,如果您想使用另一個容器來保留您放入的訂單,您還可以使用列表<>