J'ai un cours d'étudiant.obtenir toutes les valeurs du dictionnaire en utilisant linq à la liste des types anonymes
class student : DynamicObject
{
public Dictionary<string, object> dics = new Dictionary<string, object>();
}
En ajoutant des propriétés dynamiquement à cette classe. Après i peuplé un
list<student> lists,
Comment puis-je récupérer les clés et les valeurs dans le dictionnaire dans la classe chaque étudiant LINQ. Alors que je peux le lier à un DataGrid. Les clés seront les mêmes pour tous les dictionnaires de chaque objet étudiant car ce seront les noms des colonnes. Les valeurs seront différentes qui sont les valeurs de la colonne. Alors que je peux lier ce type anonyme à la grille de données. J'ai essayé la méthode suivante. Mais le résultat n'est pas correct.
var result = lists.SelectMany(x => x.Dictionary.Keys).Select(m => new
{
StudentID = m[1],
RegNo = m[2],
JoinYear = m[3]
}).ToList();
enfin, je peux lier comme celui-ci,
grid.DataSource = result;
grid.DataBind();
Ainsi, la grille montrera les colonnes des clés de dictionnaire et toutes les lignes seront peuplées en utilisant les valeurs du dictionnaire. De l'aide ???
Merci beaucoup.
Est-ce le contrôle WPG 'DataGrid', ou le contrôle WinForms' DataGridView'? –
asp.net. est-ce possible ? –
Si les clés sont les mêmes pour chaque étudiant, pourquoi utilisez-vous un dictionnaire plutôt que des propriétés appropriées? – Rawling