我正在将要从列表中删除的项目设置为空,然后通过 IComparable 方法 CompareTo 对列表进行排序,以便空项目位于顶部......然后在列表上使用 RemoveRange 函数但无法如此......我明白了以下代码没有问题:
try
{
foreach (Invoice item in inv)
{
if (item.qty == 0)
{
item.CustomerName = null;
item.qty = 0;
i++;
}
}
inv.Sort();
inv.RemoveRange(0, i);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
#region IComparable<Invoice> Members
public int CompareTo(Invoice other)
{
return this.CustomerName.CompareTo(other.CustomerName);
}
#endregion
错误发生在 inv.RemoveRange(0,i); 说:无法比较数组中的两个元素
为什么会这样??