First和Min()不一样 最后和Max()不一样
在foreach中,排序是
AAA
BBB
CCC
^^
MIN()
^^
MAX()
CC
我怎样才能得到Min()并且首先是相同的?
我怎样才能获得Max()并且最后一样?
ss.FirstOrDefault()不等于ss.Min()
ss.Reverse()。FirstOrDefault()不等于ss.Max()
public void SS()
{
SortedSet<string> ss = new SortedSet<string>(StringComparer.OrdinalIgnoreCase);
ss.Add("bbb");
ss.Add("aaa");
ss.Add("^^");
ss.Add("ccc");
foreach (string s in ss)
Debug.WriteLine(s);
Debug.WriteLine(ss.Min());
Debug.WriteLine(ss.Max());
}
答案 0 :(得分:0)
简短的回答是:你做不到。
答案更长的是Min实施,here。
如果您没有比较数字,代码将使用Comparer<TSource>.Default
,但不保证您在SortedSet
中使用的是String1 = "12345"
String2 = "12abc"
(在您的情况下不是)。
顺便说一句,如果您只想要Min和First相同,则在创建集合时不要指定比较器。它将自动使用dafault。