gpt4 book ai didi

C#。如何确保按字符串属性对对象列表进行排序的最终结果在每台计算机上都相同

转载 作者:行者123 更新时间:2023-11-30 19:38:48 26 4
gpt4 key购买 nike

我有一个复杂对象列表,我想按字符串属性对该列表进行排序。现在的问题是该字符串包含立陶宛字母 ( https://en.wikipedia.org/wiki/Lithuanian_orthography ),并且 List.OrderBy() 的最终结果在我 friend 的计算机上与在我的计算机上看起来不同。有没有办法确保列表在每台计算机上都以相同的方式排序?

我尝试添加

Thread.CurrentThread.CurrentCulture = new CultureInfo("lt-LT");
var testModel = model.products.OrderBy(x => x.title, StringComparer.CurrentCulture).ToList();

但这并没有解决问题。

最佳答案

您正在使用 StringComparer.CurrentCulture。这在您 friend 的系统上可能有所不同。

明确地为 OrderBy() 方法指定文化(推荐)。您也可以使用 InvariantCulture,尽管这可能不是 UI 中显示的文本的最佳选择。

此外,考虑使用 OrderBy() 方法的重载,该方法采用 StringComparison枚举,它允许更多地控制比较的处理方式。

MSDN 上有一篇很棒的文章:Best Practices for Using Strings in the .NET Framework

关于C#。如何确保按字符串属性对对象列表进行排序的最终结果在每台计算机上都相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31163733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com