C# sort System.InvalidOperationException: Failed to compare two elements in the ar

谁说胖子不能爱 提交于 2019-12-06 09:59:59

System.InvalidOperationException: Failed to compare two elements in the array. ---> System.NullReferenceException: Object reference not set to an instance of an object.

第一次用C#sort遇到的,感觉和它的底层实现有关。

抛异常的写法:
List<GuildBattleFieldRank> redList = new List<GuildBattleFieldRank>();
redList.Sort((l, r) =>
            {
                if (l.Score >= r.Score)
                    return -1;
                return 1;
            });

解决方法:
List<GuildBattleFieldRank> redList = new List<GuildBattleFieldRank>();
redList.Sort((l, r) =>
            {
                if (l.Score == r.Score) return 0;
                else if (l.Score > r.Score)
                    return -1;
                return 1;
            });

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!