Ответ 1
Нет встроенного способа сделать это с использованием платформы .NET, но я бы посоветовал вам читать Natural Sorting in С# для обсуждение темы и реализация с открытым исходным кодом.
Какой простой способ получить запрос LINQ (из базы данных SQL - это важно?), чтобы упорядочить строки естественно?
Например, я получаю следующие результаты:
Я хотел бы видеть следующее:
Я использую этот запрос:
return from p in dataContext.Projects
orderby p.Name
select p;
Нет встроенного способа сделать это с использованием платформы .NET, но я бы посоветовал вам читать Natural Sorting in С# для обсуждение темы и реализация с открытым исходным кодом.
Я опаздываю на вечеринку на несколько лет, но я просто пытался решить подобную проблему, и это сработало для меня. Надеюсь, что кто-то еще найдет это полезным.
Скажите, что у вас есть строки в списке, попробуйте что-то вроде этого:
List<string> projects = new List<string>
{
"Project 1",
"Project 10",
"Project 2"
};
//Sort by a substring of the string value which omits the non-numeric characters
IEnumerable<string> sorted = projects.OrderBy(p => p.Substring(p.IndexOf(' ') + 2, p.Length - (p.IndexOf(' ') + 2)));