2016-11-03 4 views
-3

Я использую структуру сущности для получения данных из таблицы и сортировки этих данных десятичным столбцом Как упорядочить эти данные в linq? я Allready попыталсяДесятичные числа в LINQ

list.OrderBy(x => x.DisplayOrder) 

, но это дает неправильный результат

12.0 
1.0 
2.0 
2.5 
3.0 

Спасибо за помощь

+8

Это, вероятно, потому, что вы храните номера в строках. – Rob

+0

они являются десятичными знаками в таблице –

+0

Я согласен с @Rob, если они являются строками, вам нужно применить к ним естественный провайдер. –

ответ

5

Является ли ваша DisplayOrder строка? Если это так, то вместо этого оно упорядочивается буквенным порядком, если числовое. Разбираем в decimal:

list.OrderBy(x => decimal.Parse(x.DisplayOrder)) 
+0

@ Луис Тьяго - добро пожаловать :) –

0
List<decimal> list= new List<decimal>() {12.123m,14m,10.85m,124.0003m}; 

foreach (var item in list.OrderBy(c=>c)) 
{ 
    Console.WriteLine(item.ToString(CultureInfo.InvariantCulture)); 
} 
Смежные вопросы