技術上發揮上講,你可以使用匿名類對於這一點,做類似下面
var hotell = new []{
new {city = "New York",
liste= new[]{
new{name= "Aurora", price_s = 590, price_v = 690},
new {name= "Downtown", price_s = 660, price_v = 750},
new {name= "City Hall", price_s= 450, price_v= 530},
}
}};
Console.WriteLine(hotell[0].liste[1]);
這裏的問題是,var
關鍵字推測出的編譯器指定的類。也就是說,匿名類是針對包含字段string name
,int price_s
和int price_v
的類型構建的,也是實際酒店的匿名類。
匿名類意味着短命,並且唯一能夠從方法返回對象hotell
的方法是將對象作爲一個對象,以致於必須稍後將其轉換爲匿名類型。因爲它是匿名的,所以很難:)。你或許也可以跟動態一起走,但這些都是緩慢的反射基礎。
IE:你是強類型語言,最好是聲明你的類。
擁有酒店及套房班
class Room {
public string name {get;set;}
public int price_s {get;set;}
public int price_v {get;set;}
}
class Hotel {
public string city {get;set;}
public List<Room> liste {get;set;}
}
,你可以得到相當簡單的初始化沒有什麼不同(但也不能等同於JS):
var hotel = new Hotel[]{
new Hotel{city = "New York",
liste= new List<Room>{
new Room{name= "Aurora", price_s = 590, price_v = 690},
new Room{name= "Downtown", price_s = 660, price_v = 750},
new Room{name= "City Hall", price_s= 450, price_v= 530},
}
}};
這可能與周圍的相應類型的傳遞。請注意,這些屬性通常是C#的大寫字母。
你必須爲'Hotel'和'liste'類定義類,然後初始化它們。 – degant
嘗試谷歌類的數組 - 我發現這個鏈接有很多:http:// www。 functionx.com/csharp/arrays/Lesson03.htm – PaulF