от
У меня
DataTable
с колонной
Name
. Я хочу создать коллекцию уникальных имен в алфавитном порядке. Следующий запрос игнорирует приказ пунктом.
var names =
    (from DataRow dr in dataTable.Rows
    orderby (string)dr["Name"]
    select (string)dr["Name"]).Distinct();
Почему
orderby
не сделать принудительно?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

8 Ответы

0 голосов
от
У меня
DataTable
с колонной
Name
. Я хочу создать коллекцию уникальных имен в алфавитном порядке. Следующий запрос игнорирует приказ пунктом.
var names =
    (from DataRow dr in dataTable.Rows
    orderby (string)dr["Name"]
    select (string)dr["Name"]).Distinct();
Почему
orderby
не сделать принудительно?
0 голосов
от
Чтобы сделать его более читабельным и поддерживаемым, вы также можете разделить ее на несколько операторами LINQ. Во-первых, выделить ваши данные в новый список, назовем его
x1
, делать проекции при желании Далее, создайте отдельный список, из
x1
в
x2
, используя любые различия требуется И, наконец, создать упорядоченный список, из
x2
в
x3
, сортировка по желанию
0 голосов
от
Проблема в том, что отдельные оператор не предоставляет, что она будет сохранить первоначальный порядок значения. Поэтому запрос нужно работать
var names = (from DataRow dr in dataTable.Rows
             select (string)dr["Name"]).Distinct().OrderBy( name =
0 голосов
от
var sortedTable = (from results in resultTable.AsEnumerable()
select (string)results[attributeList]).Distinct().OrderBy(name =
0 голосов
от
Попробуйте следующее:
dataTable.Rows.Cast
0 голосов
от
Попробуйте следующее
var names = (from dr in dataTable.Rows
             select (string)dr["Name"]).Distinct().OrderBy(name =
0 голосов
от
В аннотация: все ответы имеют что-то общее. Заказатьпо должен быть финал операции.
0 голосов
от
Вы можете использовать что-то вроде этого:
dataTable.Rows.Cast
...