2010-08-20 6 views
1

J'ai une seule colonne pouvant être datée à l'intérieur d'un jeu de données unique. Je veux juste convertir cet ensemble de données en lignes distinctes. Voici mon code, il donne une erreur de compilation '.' attendu. Qu'est-ce que je fais mal? (J'ai essayé d'ajouter le., Toujours la même erreur). Je sais que c'est quelque chose de stupidement évident. PLZ Sauve-moi! ;)LINQ/VB.NET select distinct du jeu de données

Merci beaucoup d'avance!

Dim query = _ 
    From email In ds.Tables(0) _ 
    Select email.Field<string>("Email").Distinct() 

EDIT: DOH! MIXING VB/C# SYNTAXE ICI! J'ai changé pour (Of String) et cela fonctionne ... MAIS MAINTENANT 'query' est une collection ienumerable de caractères ... pas un datatable ... alors comment est-ce que je peux convertir facilement sans faire manuellement une boucle ?? Plz conseille!

Répondre

5

Vous appliquez la méthode Distinct à chaque chaîne, pas le résultat de la requête. Comme les chaînes sont une collection de caractères, vous pouvez également leur appliquer des méthodes d'extension.

parenthèses Mettez autour de la requête:

Dim query = _ 
    (From email In ds.Tables(0) _ 
    Select email.Field(Of String)("Email")).Distinct() 
+0

me donne maintenant un « d_7a'1 [ System.String] ... quand j'essaye de lancer la liste ou DataTable il jette une exception de cast invalide ... euh, je pourrais aussi bien arrêter de perdre mon temps et faire juste le vieux chemin unique du dictionnaire ...! – dferraro

+0

..mais je ne vais pas abandonner, alors s'il vous plaît dites-moi ce que je fais si évidemment mal! Merci! – dferraro

+0

hmm ... J'ai changé le résultat du retour de la fonction à query.ToList() et il a casté correctement en list (of string). Toujours pas le datatable je veux, mais fonctionnera assez bon ... – dferraro

4

Vous pouvez utiliser les valeurs distinctes après avoir obtenu les valeurs en datatabale par:

résultat
dtFiltered = dtNotFiltered.DefaultView.ToTable(True, "RAMI_ISSA") 'Get distinct values (by stting the first parameter to True) 
Questions connexes