[英]C# Sort vs JavaScript Sort
我將以下數組作為輸入以降序對值進行排序:
var cars = ["8587009748118224023Po","8587009748118224023PP","8587009748118224023P,","8587009748118224023P$","8587009748118224023P<","8587009748118224023P?"]
在 C# 中,我使用OrderByDescending並獲得以下輸出
C# 代碼:
var rslt= cars.OrderByDescending(a => a);
結果(在每個值后添加逗號):
8587009748118224023PP,
8587009748118224023Po,
8587009748118224023P<,
8587009748118224023P?,
8587009748118224023P,
,
8587009748118224023P$,
在 Javascript 中,我使用sort和reverse並得到以下不同的結果
javascript代碼:
cars.sort();
cars.reverse();
結果:
8587009748118224023Po,
8587009748118224023PP,
8587009748118224023P?,
8587009748118224023P<,
8587009748118224023P,
,
8587009748118224023P$
任何人都可以幫助我如何像 JavaScript 一樣對 C# 中的值進行排序?
嘗試更改 StringComparer:
Array.Sort(cars, StringComparer.Ordinal);
Array.Reverse(cars);
看起來 Javascript 正在執行不區分大小寫的排序。 對於 C#,您需要明確告訴它這樣做。 所以這應該有效;
var rslt = cars.OrderByDescending(a => a, StringComparer.OrdinalIgnoreCase);
編輯:
從 OP 更新后,他發現不需要忽略大小寫。 所以以下工作;
var rslt = cars.OrderByDescending(a => a, StringComparer.Ordinal);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.