2012-11-20 121 views
1

我一直在試圖找到這個awnser一段時間。我正在將一個網站從php轉換爲asp。我有一個這樣的數組。asp中的多維關聯數組

$students = array(

    array(
     "id" => "1", 
     "name" => "John", 
     "group" => "A" 
    ), 
    array(
     "id" => "2", 
     "name" => "Joe", 
     "group" => "A" 
    ), 
    array(
     "id" => "3", 
     "name" => "Derp", 
     "group" => "B" 
    ), 
); 

foreach($student as $slacker){ 
    //use the data 
} 

是否有任何替代方案,甚至接近這與asp?

+0

你想把它轉換成asp.net數據結構嗎? – Adil

+0

當然,任何能讓我以類似方式使用它的東西。 – user1738750

+0

在c#數組中與php不同。數組是索引和值的組合。該索引是一個數字字段。它不像PHP,你可以在索引中有任何東西。在您的要求中,您可以使用結構或類集合或數組。 –

回答

2

您可以創建一個類並使用泛型列表來保存類類型的數組。

public class YourGroup 
{ 
    public string id { get; set; }; 
    public string name { get; set; }; 
    public string group { get; set; };  
} 

List<YourGroup> lstGroup = new List<YourGroup>(); 
lstGroup.Add(new YourGroup(id ="1", name="Jon", group="A1")); 
lstGroup.Add(new YourGroup(id ="2", name="Jon", group="A2")); 
lstGroup.Add(new YourGroup(id ="3", name="Jon", group="A3")); 
string idOfFirst lstGroup[0].id; 
0

您可能正在尋找所謂的詞典。雖然它不是很深嵌套像$ myarray的[「富」] [「酒吧」]字典將允許你這樣的東西

Dictionary<int, MyObject> myDictionary = new Dictionary<int, MyObject>(); 

在您的MyObject持有下列對象

class MyObject 
{ 
     public string name; 
     public string group; 
} 

爲結果可以遍歷它是這樣

MyObject foo = new MyObject(); 

foo.name = "tada!"; 
foo.group = "foo"; 

myDictionary.add(1, foo); 

foreach (MyObject obj in Dictionary.Values) 
{ 
    //Do Stuff 
} 

完全串相關聯陣列將是

Dictionary<string, string> myDictionary = new Dictionary<string, string>(); 

string something = myDictionary["value"];