2009-03-04 4 views
0

J'utilise le dictionnaire comme un conteneur hétérogène:Déterminer le nombre d'éléments de chaque type dans un containercontainer hétérogène

Dictionary<string, Object> _Table; 

mappe essentiellement une description int/double/string/ISerialiazable/types etc.

Je veux calculer efficacement le nombre d'éléments de chaque type, puis imprimer uniquement les éléments de ce type - en SQL, je voudrais regrouper par type, puis nombre d'impression et tous les éléments pour chaque type respectivement.

Je n'utilise pas LINQ, car j'ai besoin de le supporter dans .net 2.0. J'encourage certianly solutions comme LINQ à des fins éducatives, mais s'il vous plaît garder à l'esprit que je n'utiliser un code compatible avec .NET 2.0

J'ai actuellement une solution de contournement, où j'utiliser des dictionnaires pour chaque type, puis parcourir tous les dictionnaires.

Merci ....

Répondre

2

EDIT: Vous vouliez imprimer les objets ainsi:

Dictionary<Type, List<object>> numTypes = new Dictionary<Type, List<object>>(); 

foreach(KeyValuePair<string, object> pair in _Table){ 
    Type type = object.GetType(); 
    if (!numTypes.ContainsKey(type)){ 
     numTypes[type] = new List<object>(); 
    } 

     numTypes[type].Add(object); 
} 
+0

second dictionnaire? ressemble à une redondance. –

Questions connexes