En supposant vous essayez maintenant de comprendre comment stocker et ord Comme une collection d'objets avec plusieurs propriétés, vous avez quelques options. Nikhil Agrawal's answer est une excellente solution mais il se peut que vous n'ayez pas besoin de créer une classe personnalisée pour cela. Pour ces situations (de préférence lorsque votre code est privé et ne fait pas partie de certaines API), les alternatives ci-dessous peuvent être une option.
KeyValuePairs
En fonction de vos besoins et votre message original à l'aide de dictionnaires, il semble que la place d'un dictionnaire de dictionnaires (à plusieurs niveaux), vous avez probablement voulu un dictionnaire de keyvaluepairs (plat).
// using keyvaluepair
var keyValueDict = new Dictionary<string, KeyValuePair<double, double>>();
keyValueDict.Add("string", new KeyValuePair<double, double>(5.8, 7.4));
var sortedKeyValues = keyValueDict.OrderBy(x => x.Value.Key);
Tuples
Une alternative au pas si agréable KeyValuePair est le Tuple introduit dans .NET 4. Le tuple est une classe générique qui vous permet de stocker des valeurs de propriété tapées sans créer votre propre coutume classe. Il est à noter qu'il existe des implémentations de tuple pour jusqu'à 8 propriétés.
// using tuple
var tupleList = new List<Tuple<string, double, double>>();
tupleList.Add(new Tuple<string, double, double>("string", 5.8, 7.4));
var sortedTuples = tupleList.OrderBy(x => x.Item2);
Il y a quelques bonnes SO questions sur Tuples si vous êtes intéressé:
Is Using .NET 4.0 Tuples in my C# Code a Poor Design Decision?
Are EventArg classes needed now that we have generics
Je ne vais pas même imaginer pourquoi vous auriez besoin d'une telle structure de données, mais ce sont quelques-uns des exemples de données que vous détenez et comment essayez-vous de trier les données? Rappelez-vous qu'un dictionnaire lui-même n'est pas triable. – gunr2171
Certaines valeurs de dictionnaires et sur quelle base vous voulez les trier aideraient. –
désolé je ne suis pas expert sur C#, suggérez-vous un moyen de stocker 3 valeurs en tant qu'un seul article? – user1225072