2016-11-21 1 views
-1

ligne: obtient une ligne à partir du fichier, il est itérerprint Valeurs du tableau OrderedDictionary?

string[] values = line.split(","); // ex: ["hi, "test", "no", "sup"] 

OrderedDictionary od = new OrderedDictionary(); 
Tuple<int, string[]> innerTuple = new Tuple<int, string[]>(int.Parse(value[0], values); 

Je ne peux pas sembler trouver un moyen d'imprimer le tableau de valeurs. Cependant, je peux imprimer les tableaux en utilisant un dictionnaire régulier (je n'aime pas comment le dictionnaire peut mélanger l'ordre d'insertion).

+0

Et comment allez-vous imprimer les tableaux lorsque vous utilisez un 'Dictionary'? Que se passe-t-il lorsque vous essayez de le faire avec un 'OrderedDictionary'? – Servy

+1

Utiliser une autre structure de données ... – raven

+0

@Servy Avec le dictionnaire, j'ai utilisé foreach pour obtenir la clé, puis forloop pour chaque valeur [index] avec cette clé, ex: 'Console.WriteLine (dict [k] [index]) '. J'ai essayé de le faire dans OrderedDictionary, pas un indice. – user7190976

Répondre

-2

Essayez avec ceci:

foreach (DictionaryEntry item in od) 
{ 
    Console.WriteLine(item.Key); 
    Console.WriteLine(item.Value); 
} 

MISE À JOUR:

Si vous avez un tableau de chaînes comme la valeur, alors vous devriez essayer quelque chose comme ceci:

foreach (DictionaryEntry item in od) 
{ 
    if (item.Value is string[]) 
    { 
     foreach (string str in (string[])item.Value) 
     { 
      Console.WriteLine("A string item: " + str); 
     } 
    } 
} 
+0

Cela ne fonctionnera pas. Item.value renvoie la chaîne []. – user7190976

+0

Ok, j'ai édité ma réponse. Voir la mise à jour. –

+0

Merci! C'est ce que je cherchais. – user7190976