Linq sélectionnez à nouveau l'objet
J'ai une requête linq
var x = (from t in types select t).GroupBy(g =>g.Type)
les groupes d'objets par leur type, comme un résultat que je souhaite à avoir un seul nouvel objet contenant tous les objets groupés et leur nombre. Quelque chose comme ceci:
type1, 30
type2, 43
type3, 72
pour être plus clair: le regroupement des résultats devrait être un objet n'est pas un objet par type d'élément
Vous devez vous connecter pour publier un commentaire.
Lire : 101 LINQ Échantillons dans ce LINQ - le Groupement d'Opérateurs à partir de Microsoft MSDN site
forsingle objet utiliser stringbuilder et d'ajouter que va faire ou à convertir ce en forme de dictionnaire
Tous les regroupées objets, ou tous les types? On dirait que vous voulez juste:
EDIT: Si vous voulez dans un dictionnaire, vous pouvez simplement utiliser:
Il n'y a pas besoin de sélectionner en paires et puis construire le dictionnaire.
query
). Il n'est pas encore clair ce que vous voulez réaliser que ma solution n'est pas faire pour vous. Si vous allez à un groupe par type, vous avez eu pour avoir un objet par groupe, mais iciquery
est la requête qui permet de donner vous tous ces groupes.Les réponses ici m'a fait fermer, mais en 2016, j'ai été capable d'écrire la suite de LINQ:
Si vous voulez être en mesure d'effectuer une recherche sur chaque type pour obtenir sa fréquence, alors vous aurez besoin pour transformer l'énumération dans un dictionnaire.
C'est un grand article pour la syntaxe nécessaire pour créer de nouveaux objets à partir d'une requête LINQ.
Mais, si les missions à remplir dans les champs de l'objet sont rien de plus que des tâches simples, par exemple, l'analyse de chaînes de nombres entiers, et l'un d'eux tombe en panne, il n'est pas possible de débogage. Vous ne pouvez pas créer un point d'arrêt sur l'un des affectations individuelles.
Et si vous vous déplacez tous les devoirs, à une sous-routine, et de renvoyer un nouvel objet à partir de là, et tenter de définir un point d'arrêt dans cette routine, vous pouvez définir un point d'arrêt dans cette routine, mais le point d'arrêt ne sera jamais déclenché.
Ainsi, au lieu de:
Ou
J'ai plutôt fait:
Cela m'a permis de résoudre facilement et de comprendre assignation qui a été un échec. Dans ce cas, le XElement manquait un domaine que j'était d'analyse pour définir dans le SuggestionItem.
J'ai couru dans ces pièges avec Visual Studio en 2017, lors de l'écriture de tests unitaires pour une nouvelle routine de bibliothèque.