获取LINQ查询的最简单方法(从SQL数据库 - 这有关系吗?)自然地对字符串进行排序?
例如,我目前正在获得这些结果:
我希望看到的是:
我正在使用的查询是:
return from p in dataContext.Projects
orderby p.Name
select p;
答案 0 :(得分:9)
使用.NET框架没有内置方法可以做到这一点,但我建议您阅读Natural Sorting in C#以讨论该主题和开源实现。
答案 1 :(得分:2)
我参加聚会只有几年,但我只是想解决类似的问题,这对我有用。希望其他人认为这有用。
假设你在List中有你的字符串,尝试这样的事情:
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)));