C#解決Linq OrderBy() 失效的小技巧


前言

      前幾天的一個數據列表中我用了Linq GroupBy 和OrderBy。 排序在本機正常使用,發到測試后排序死活不對,很是郁悶,總以為是程序問題。於是請教了另外一個同事。有了以下的答案。

 

問題原因和解決方法

    因為服務器裝的是英文版操作系統,沒有中文包,所以碰見中文排序無法識別,所以使用OrderBy時需要單獨處理下。

 

CultureInfo culture = CultureInfo.GetCultureInfo("zh-cn");

            List<TeamDto> teamDtos = teams
                    .GroupBy(x => new
                    {
                        x.TestId,
                        x.TestName
                    })
                    .Select(g => new TeamDto()
                    {
                        TestID = g.Key.TestId,
                        Test = g.Key.TestName,
                        Teams = g.ToList()
                    })
                    .OrderBy(t=>t.Test,StringComparer.Create(culture,true))
                    .ToList();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM