我有一个字符串数组列表:
"1A", "12A", "12B", "6", "A", "5B", "B", "13"
。
如果我执行myList.Sort();
,那么我得到的结果是:
"1A", "12A", "12B", "13", "5B", "6", "A", "B"
。
但我需要首先按数字排序,然后按字母排序:
"1A", "5B", "6", "12A", "12B", "13", "A", "B"
。
我可以使用
public class CustomComparer : IComparer
{
Comparer _comparer = new Comparer(System.Globalization.CultureInfo.CurrentCulture);
public int Compare(object x, object y)
{
// Convert string comparisons to int
return _comparer.Compare(Convert.ToInt32(x), Convert.ToInt32(y));
}
}
但它会抛出异常。我该如何获取所需内容?
CurrentCulture
是什么? - Soner GönülCompare
时对内容进行了处理?这将会抛出一个异常,因为你无法将“5B”转换成int
。 - Tigran