Sortie d'une liste ou d'autres structures de données à l'aide d'une requête linq
est-il un moyen de faire une Console.WriteLine() sur une Collection Générique
exemple:
Liste a:
a.Key[0]: apple
a.Value[0]: 1
a.Key[1]: bold
a.Value[2]: 2
Est-il un moyen pour écrire le contenu de la Liste: Clé, Valeur à l'aide de LINQ?
un = un.OrderByDescending(x => x.Valeur));
foreach (KeyValuePair pair in car)
{
Console.WriteLine(pair.Key + ' : ' + pair.Value);
}
Au lieu de la boucle foreach, je veux écrire un Linq /requête...
est-il possible?
quelle est la différence dans la performance, si elle est connue? Je suis en train de faire des recherches surtout à l'aide d'un Dictionnaire (au lieu de la Liste comme indiqué ci-dessus), mais pour une boucle par faire de la Console.WriteLine sera la requête LINQ être plus vite que le Liste ou un Dictionnaire utilisé directement (si connue)? Merci
OriginalL'auteur Loser Coder | 2011-07-07
Vous devez vous connecter pour publier un commentaire.
Si vous pensez à ce sujet, vous n'êtes pas vraiment en demandant une requête. Une requête est essentiellement de poser une question sur les données, et ensuite organiser la réponse d'une manière particulière. Ce que vous faites avec cette réponse est séparé de sa génération.
Dans votre cas, la "question" de la partie de la requête est "qu'est-ce que mes données?" (puisque vous n'avez pas d'appliquer une clause where) et l ' "arrangement" est "dans l'ordre décroissant en fonction de la Valeur de chaque élément". Vous obtenez une
IEnumerable<T>
qui, lorsque énumérés, va cracher votre "réponse".À ce stade, vous avez réellement besoin de faire quelque chose avec la réponse, donc vous énumérer à l'aide d'un
foreach
boucle, et ensuite effectuer toutes les mesures dont vous avez besoin sur chaque élément (comme vous le faites dans votre question.) Je pense que c'est parfaitement raisonnable approche, qui fait comprendre ce qu'il se passe.Si vous devez absolument utiliser une requête LINQ, vous pouvez le faire:
MODIFIER: Ce post de blog a plus.
OriginalL'auteur dlev
Il y a une méthode d'extension qui passe en boucle sur les valeurs:
Vous pouvez également utiliser des fonctions d'agrégation de lien pour concaténer des chaînes:
a
estIEnumerable<T>
etForEach()
est membre deList<T>
.OriginalL'auteur Saeed Neamati
Vous pouvez construire la chaîne à l'aide de LINQ et puis les sorties de la console
Exemple:
OriginalL'auteur Alexander