有一堂课
public class Camera
{
...
public bool live;
...
}
这是排序类
public class CameraSortByLive : IComparer<Camera>
{
private bool asc;
public CameraSortByLive(bool a)
{
this.asc = a;
}
public int Compare(Camera x, Camera y)
{
if (x.live != y.live)
return asc ? 0 : 1;
else
return asc ? 1 : 0;
}
}
这就是我使用它的方式:
List<Camera> CameraList = new List<Camera>();
CameraList.Sort(new CameraSortByLive(sortAsc));
现在,我在成员旁边live
还有其他成员int
,string
输入。对于这些类型,我有类似的排序类实现IComparer
。他们没有问题。这个live
成员的唯一问题。它根本没有排序。我希望它位于列表的顶部或底部,但它位于中间的某个位置。我错过了什么?