2016-08-15 2 views
0

So erstellen Sie ein Array, das aus Kategorien und seinen Unterkategorien besteht.So verwenden Sie den Schlüssel im multidimensionalen Array

Beispiel:

Fruit 
    --> Apple 
    --> Banana 

Car 
    --> Civic 
    --> Vitz 

Drinks 
--> Pepsi 
--> Dew 

So wird es ein komplettes ein Array.

Anmerkung: Ich möchte nicht alle Sammlungen Listen zB verwenden, Wörterbuch usw.

+8

dann zeigen Sie uns, was Sie versucht haben, und wie es gescheitert – BugFinder

+0

Wie würde das Ergebnis aussehen? – ntohl

+0

versuchen mit .... 'neue Zeichenfolge [3, 3] {{" Apple "," Banana "}, {" Civic "," Vitz "}};' Aber für 'Schlüssel' als' Fruit' müssen Sie benutze 'Dictionary' – Riad

Antwort

0

eine Schnittstelle Arrayobject dann genannt Erstellen Sie die Klasse Obst, Auto und Getränke erstellen dann die Schnittstelle implementieren und eine Anordnung der Schnittstelle machen

so etwas wie

public interface arrayobject 
{ 
    string description(); 
} 
class Fruit:arrayobject 
{ 
    public string fruittype; 
    public Fruit(string type) 
    { 
     fruittype = type; 
    } 

    public string description() 
    { 
     return fruittype; 
    } 
} 
class Car : arrayobject 
{ 
    public string Cartype; 
    public Car(string type) 
    { 
     Cartype = type; 
    } 

    public string description() 
    { 
     return Cartype; 
    } 
} 

jetzt können Sie ein Array der Arrayobject machen

arrayobject[] mylist = new arrayobject[2]; 
mylist[0] = new Fruit("banana"); 
mylist[1] = new Car("my Ford"); 
1

Wenn Sie auf die Verwendung nur Arrays beschränkt sind, dann könnte man so etwas wie:

object[][] arr = new object[3][]; 
arr[0] = new object[2]; 
arr[0][0] = "Fruit"; 
arr[0][1] = new string[2] { "Apple", "Banana" }; 
arr[1] = new object[2]; 
arr[1][0] = "Car"; 
arr[1][1] = new string[2] { "Civic", "Vitz" }; 
arr[2] = new object[2]; 
arr[2][0] = "Drinks"; 
arr[2][1] = new string[2] { "Pepsi", "Dew" }; 

Dann durchlaufen:

for (int i = 0; i < 3; i++) 
{ 
    StringBuilder line = new StringBuilder(); 
    line.Append((string)arr[i][0] + ": "); 
    string[] subs = (string[])arr[i][1]; 
    for (int j = 0; j < 2; j++) 
    { 
     line.Append(subs[j] + "; "); 
    } 
    MessageBox.Show(line.ToString()); 
} 

Hinweis, da diese eine gezackte Array (AKA Array von Arrays verwendet), können Sie verschiedene Anzahlen von Unterkategorien haben. Um die Unterkategorien zu durchlaufen, müssen Sie die Anzahl verwenden.

Verwandte Themen