我正在使用此代码来命令按数字基础降序的列表
ItemsList.OrderByDescending(x => x.Views, new IntComparer());
public class IntComparer : IComparer<long>
{
IComparer<long> Members;
public int Compare(long x, long y)
{
return Math.Sign(x - y);
}
}
但它根本没有订购:S任何帮助PLZ
答案 0 :(得分:5)
Enumerable.OrderByDescending是LINQ的一部分。
所以它不是修改列表,而是创建新列表。使用
ItemsList = ItemsList.OrderByDescending(x => x.Views, new IntComparer()).ToList();
或类似的东西。
答案 1 :(得分:0)
你应该读到这个:http://msdn.microsoft.com/fr-fr/library/bb534861.aspx#Y1185 似乎此方法不更新列表,因此您需要存储结果。
List aList = ItemsList.OrderByDescending(x => x.Views, new IntComparer());
public class IntComparer : IComparer<long>
{
IComparer<int> Members;
public int Compare(long x, long y)
{
return Math.Sign(x - y);
}
}
ItemsList = aList;