【发布时间】:2014-02-14 16:16:17
【问题描述】:
我编写了以下实现 IComparer 的类:
class CustomComparer : IComparer<string>
{
public int Compare(string x, string y)
{
int intX;
int intY;
if (int.TryParse(x, out intX) && int.TryParse(y, out intY)) //both numbers
{
intX.CompareTo(intY);
}
else if (!int.TryParse(x, out intX) && !int.TryParse(y, out intY)) //both letters
{
x.CompareTo(y);
}
else if (!int.TryParse(x, out intX) && int.TryParse(y, out intY)) //first is a letter, second a number
{
return -1;
}
else if (int.TryParse(x, out intX) && !int.TryParse(y, out intY)) //first is a number, second is a letter
{
return 1;
}
return 0;
}
}
我不确定我是否做对了所有事情,但我目前无法调用它。在我的程序中,我有一个 ArrayList 我正在尝试调用它:
CustomComparer c = new CustomComparer()
myArrayList.Sort(c);
我做错了什么?
【问题讨论】:
标签: c# sorting arraylist icomparer