2012-11-20 10 views
1

J'ai essayé de trouver la réponse à cela pendant un moment. Je convertis un site de php en asp. J'ai un tableau comme celui-ci.Tableau associatif multidimensionnel en 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 
} 

Existe-t-il une alternative qui se rapproche de cela avec asp?

+0

Vous souhaitez le convertir en structure de données asp.net? – Adil

+0

Bien sûr, tout ce qui me permettrait de l'utiliser de la même manière. – user1738750

+0

Dans le tableau C# est différent avec php. Array est une combinaison d'index et de valeur. L'index est un champ numérique. Ce n'est pas comme php où vous pouvez avoir n'importe quoi dans l'index. Dans votre exigence, vous pouvez utiliser la structure ou la collection de classes ou un tableau. –

Répondre

2

Vous pouvez créer une classe et utiliser une liste générique pour contenir le tableau de votre type de classe.

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

Vous cherchez peut-être ce qu'on appelle un dictionnaire. Bien que ce ne est pas assez profond imbriquées comme monTableau $ [ « foo »] [ « bar »] le dictionnaire vous permettra de trucs comme

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

où votre MyObject contient l'objet suivant

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

comme résultat que vous pouvez traverser en tant que tel

MyObject foo = new MyObject(); 

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

myDictionary.add(1, foo); 

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

un tableau associé complètement chaîne serait

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

string something = myDictionary["value"]; 
Questions connexes