Est-il possible d’utiliser Distinct dans la syntaxe de requête LINQ?

Est-il possible de réécrire:

var tbl = ds.TABLES; var q = from c in tbl select c.TABLE_TYPE; ssortingng s = ""; foreach (var item in q.Distinct()) { s += "[" + item + "]"; } MessageBox.Show(s); 

Alors que l’appel Distinct () est dans la requête LINQ?

La méthode d’extension Distinct dans LINQ n’a pas d’équivalent de syntaxe de requête.

Voir http://blogs.msdn.com/b/charlie/archive/2006/11/19/linq-farm-group-and-distinct.aspx pour plus d’informations sur les raisons.

Il n’y a pas de syntaxe de méthode Distinct() dans la syntaxe de requête intégrée au langage. Le plus proche que vous pourriez faire serait de déplacer l’appel en cours:

 var q = (from c in tbl select c.TABLE_TYPE).Distinct(); 
 (from c in tbl select c.TABLE_TYPE).Distinct(); 

VB a cette fonctionnalité si vous placez le distinct après sélection.