2015-04-25 68 views
0

我想要一個數組包含strings,floatsint s,它可以通過索引鍵訪問。C#動態數組

我在Lua的例子,你會怎麼做,但我不知道你是如何在C#中做

bookArray = []; 
bookArray[1] = 
{ 
    Name = "Book 1"; 
    Price = 50; 
    WPP = 374; 
    Pages = 42; 
} 

回答

2

您可以創建一個class和使用List<MyClass>

class MyClass 
{ 
    public string Name {get;set;} 
    public double Price {get;set;} 
    public int Pages {get;set;} 
} 

這裏名單:

List<MyClass> values = new List<MyClass>(); 

添加項目

在具體指標
values.Add(new MyClass(){Name = "Book 1", Pages = 42, Price=50.0}); 

插入:

values.Insert(0,new MyClass(){Name = "Book 2", Pages = 432, Price=10.0}); 

檢索特定指數:

MyClass theClass = values[1]; 
+1

除了@Hossein的答案......在C#中使用數組時,有一個問題,當您第一次實例化數組時,您需要知道數組的大小。因此,如果它將是10個項目,則需要使用'Foo [] foo = new Foo [10]'。這就是爲什麼你最好使用'List ',因爲你不需要擔心這種事 –

+0

...或者如果它是索引鍵(非順序),那麼Dictionary 也是一個不錯的選擇 – jt000

0

如果你確定你內心的類型是不可改變的,你可以這樣做:

var ar = new[] { 
       new { Name = "Book 1", Price = 50, WPP = 374, Pages = 42 }, 
       new { Name = "Book 2", Price = 55, WPP = 220, Pages = 129 } 
      }; 

這是關於儘可能接近你的Lua定義