10
什麼是最簡單的方法來獲得LINQ查詢(從SQL數據庫 - 這很重要嗎?)自然地命令字符串?LINQ和自然排序順序
例如,我目前得到以下結果:
- 項目1
- 項目10
- 項目2
我想是看是這樣的:
- 項目1
- 項目2
- 項目10
我使用的查詢是這樣的:
return from p in dataContext.Projects
orderby p.Name
select p;
什麼是最簡單的方法來獲得LINQ查詢(從SQL數據庫 - 這很重要嗎?)自然地命令字符串?LINQ和自然排序順序
例如,我目前得到以下結果:
我想是看是這樣的:
我使用的查詢是這樣的:
return from p in dataContext.Projects
orderby p.Name
select p;
沒有內置的方式做到這一點使用.NET框架,但我會建議您閱讀Natural Sorting in C#就該主題和開源實現進行討論。
我只是晚了幾年晚會,但我只是想解決類似的問題,這對我很有用。希望其他人認爲這有幫助。
比如說,你在一個列表的字符串,嘗試這樣的事情:
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)));
「自然」是主觀的。你能更具體地描述你的意思嗎? – StingyJack 2009-08-24 17:02:34
@StingyJack - 在人類排序順序中,不是計算機排序順序。 – Kieron 2009-08-24 17:03:31
HA - 「人類」排序順序。你的意思是拉丁字典順序,不區分大小寫?你有這些項目的ID嗎? – StingyJack 2009-08-24 17:04:33