请问,SortedList集合键的限制
SortedList我试了一下,键可以是数字,Add的时候,会根据键进行自动排序。键也可以是string,虽然不能排序,但不报错。
可是如果键是list类型,要报错,这是为什么啊?
下面的代码报错----“未能比较数组中的两个元素”
public static void Main(string[] args)
{
SortedList<List<string>, string> dic = new SortedList<List<string>, string>();
dic.Add(new List<string>{"大概","地方"}, "hh");
dic.Add(new List<string> { "刚刚", "很久很久" }, "hh");
Console.ReadKey();
}
但是,下面的代码却是正确的,为什么啊
public static void Main(string[] args)
{
SortedList<string, string> dic = new SortedList<string, string>();
dic.Add("大概", "hh");
dic.Add( "刚刚", "hh");
Console.ReadKey();
}
------解决方案--------------------键是list类型?这个倒没见过,默认不允许吧。这样写比较的规则是什么?必须至少有一个对象实现 IComparable
------解决方案--------------------
------解决方案--------------------
字符串可以排序
------解决方案--------------------
string 可以排序,按照ascii码排的。