2014-02-24 214 views
0

我在C#中新我的問題是,存在於C#數組像PHP例如多維數組

$array = array("name" => array(), "Age" => array()); 

我想知道是否可以作出這樣的陣列上C#

回答

1

最接近你可以得到的是一個Dictionary<string, string[]>

這給你散列表類型的字符串查找返回一個數組。請注意,您需要將string[]替換爲您要存儲的類型的數組。

查找工作,那麼這樣的:

var dict = new Dictionary<string, string[]>() { 
    { "name", new string[] { "Bob", "Sally" } }, 
    { "age", new string[] { "twenty four", "twenty three" } } 
} 

話雖這麼說,這不是存儲數據的C#的方式。我要出去一趟,猜測你正在存儲一個人名單。在C#中,創建類Person的屬性爲NameAge,然後填充並保存人員列表會好得多。例如:

public class Person { 
    public string Name { get; set; } 
    public int Age { get; set; } 
} 

var bob = new Person { Name = "Bob", Age = 24 }; 
var sally = new Person { Name = "Bob", Age = 23 }; 

var people = new List<Person>() { bob, sally }; 
0

你可以創建自己的類

public class People{ 

    public List<string> Names { get; set; } 
    public List<int> Ages { get; set; } 
} 

,這將讓你有一個類名的列表和年齡的名單。雖然我不認爲這真的是你想要做的,或者更好的迴應是:有一種更好的方式來做你想做的事情,看起來像你想循環通過一些名字和他們的RELATED年齡..在哪種情況下,你最好用這樣的東西:

public class Person{ 
    public int Age { get; set; } 
    public string Name { get; set; } 
} 

List<Person> people =new List<Person>{ 
new Person{Age=20,Name="Bob"}, 
new Person{Age=25,Name="Sue"}, 
}; 

現在你有OBJECTS以更關係的方式處理信息。這將完全避免必須通過索引關聯。

+0

這不會編譯... –

+0

對不起,有一些錯字已被糾正。 – Hardrada