2
Hei, 我覺得順序是錯誤地排序的東西。示例代碼:C#LINQ錯誤排序
static void Main()
{
// Create a delicious data source.
string[] fruits = { "äax", "ääü", "äbü" };
// Query for ascending sort.
IEnumerable<string> sortAscendingQuery =
from fruit in fruits
orderby fruit //"ascending" is default
select fruit;
// Execute the query.
Console.WriteLine("Ascending:");
foreach (string s in sortAscendingQuery)
{
Console.WriteLine(s);
}
}
而結果:
Ascending:
ääü
äax
äbü
正確的順序應該是: AAX 阿布 AAU
任何人都遇到過這樣的錯誤?
爲什麼我用來排序的字符串可以從數值到alphapedical或兩者在一起..在這種情況下我應該使用什麼比較? – hs2d 2011-05-18 13:07:06
@ hs2d:完全取決於你想如何比較字符串。您可能希望提供您自己的'IComparer'的實現,您可以將它作爲第二個參數傳遞給'OrderBy'。 –
2011-05-18 13:12:52
@ hs2d:您應該使用爲您的應用程序的用戶正確排序的那個。你是這裏唯一知道那是什麼的人! – 2011-05-18 13:13:04