Net Core教程

C# List.Sort()使用时碰到的一个小坑

本文主要是介绍C# List.Sort()使用时碰到的一个小坑,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

背景:在本人的项目中,用到了List.Sort() 方法,对List集合进行排序,然后将排序后的结果呈现出来。

问题:后来在实际测试过程中,发现排序后的结果并不固定,同一个List集合,按照相同的排序规则进行排序后,得出来的结果并不一样。

诊断:一开始并未察觉是Sort方法的原因,经过摸查排找,后来发现根源在List.Sort() 排序方法。

症结描述:当List集合中存在重复数据时(并非单纯的简单数据类型),仅按照一个关键字排序[Sort(Comparison<T> comparison)],的出来的排序结果是不一样的。需要在比较条件comparison中,完善比较规则,多关键字段比较,可确保排序后的集合,顺序保持一致。

这篇关于C# List.Sort()使用时碰到的一个小坑的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!