2008-08-01 11 views

Respuesta

29

Para que sea más legible y mantenible, también puede dividirlo en varias instrucciones LINQ.

  1. En primer lugar, elegir sus datos en una nueva lista, vamos a llamarlo x1, hacer una proyección si se desea
  2. A continuación, cree una lista distinta, desde x1 en x2, usando cualquier distinción necesita
  3. último , crear una lista ordenada, desde x2 en , la clasificación por lo que deseo
50

El problema es que el operador distinto no concede que va a mantener el orden original de valores.

Por lo que su consulta tendrá que trabajar así

var names = (from DataRow dr in dataTable.Rows 
      select (string)dr["Name"]).Distinct().OrderBy(name => name); 
1

Pruebe lo siguiente

var names = (from dr in dataTable.Rows 
      select (string)dr["Name"]).Distinct().OrderBy(name => name); 

esto debería funcionar para lo que necesita.

7
var sortedTable = (from results in resultTable.AsEnumerable() 
select (string)results[attributeList]).Distinct().OrderBy(name => name); 
3

probar el fo llowing:

dataTable.Rows.Cast<DataRow>().select(dr => dr["Name"].ToString()).Distinct().OrderBy(name => name); 
0

Resumir: todas las respuestas tienen algo en común.

OrderBy debe ser la operación final.

Cuestiones relacionadas