我有一组不同类别的项目。 示例 -
dogs - Shepherd, Sheepdog, Lapphund
birds - owl, parrot goose
cats - misty , tigger, kitty
我必须将它们存储在地图中,并按类别和名称以升序显示列表。 预期产出 -
birds -
owl
goose
parrot
cats -
kitty
misty
tigger
dogs -
Lapphund
Sheepdog
Shepherd
我的代码 -
class Animal : IComparable{
private string name;
public Animal(string name){
this.name = name;
}
public string Name{
get{
return this.name;
}
set{
this.name = value;
}
}
public int CompareTo(object obj) {
if (obj == null) return 1;
Animal otherAnimal = obj as Animal;
if (otherAnimal != null)
return this.name.CompareTo(otherAnimal.name);
else
return 1;
}
}
但是我也想对类别进行排序,首先应该显示鸟类,然后是猫,然后是狗
答案 0 :(得分:2)
要对类别进行排序,您只需使用已排序的词典
即可创建 -
SortedDictionary<string,Animal> = new SortedDictionary<string,Animal>();
使用Icomparable对类别的列表名称进行排序
就是这样。