【发布时间】:2020-02-09 20:33:41
【问题描述】:
我的想法是我有一个根据红色值排序的排序机制(稍后我想在此基础上进行构建,这样我也可以按绿色和蓝色值排序)。 我在实现这种排序机制时遇到了问题。
我有一个名为Colorbox 的类,它基本上是List<Color>,但这样我可以将List<Color> 放在List<Colorbox> 中。
我的平均目标是我可以根据 1 种颜色(红色、蓝色、绿色)值订购此 Colorbox。 (例如,列表中最左边的值的红色最少)。
我尝试实现 toCompare 覆盖(不知道这是否适用于 C#,但我知道在 Java 中,当您调用 sort() 方法时也会调用比较)。
这给了我如下代码:
public int CompareTo(object obj) {
Color toCompare = (Color) obj;
if (this.CompareTo(toCompare) == 1)
{
return 1;
}
else
{
return 0;
}
}
但我不知道如何在那里实现按颜色排序或进行一般排序。我是否必须额外写一个sort() 来覆盖原来的。
我真的不知道这个排序代码应该做什么。它是否按价值排序,直到它可以遍历列表并且没有任何改变?还是这个想法的方法太长了?
下面我给出类的通用代码:
internal class Colorbox
{
private List<Color> box = new List<Color>();
int colorPicker = 0;
public Colorbox(List<Color> colorList)
{
this.box = colorList;
}
}
我希望有人可以帮助解释我应该做什么或应该从哪个方向来解决这个问题。
已经非常感谢了,如果我还不清楚,请问。
【问题讨论】: