我有數組字符串列表:按數字順序排列數組列表然後按字母排序
"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));
}
}
但它拋出異常。我如何得到我所需要的?
「它會拋出異常」是遠遠不夠的信息。什麼是例外? –
由於某些字符串包含字母,因此如果不首先刪除字母,則無法將它們轉換爲「int」。 – juharr
什麼是您的'CurrentCulture'? –