2015-05-14 79 views
-3

我有一个字符串数组,我想按数字排序,请给我一个解决方案。 实施例:如何按数字值风格对字符串数组进行排序?

原始阵列:[第1项,第3项,第2项,第4项]

排序后的数组:[第1项,第2项,第3项,第4项]

private string sortString(string strToken) 
{ 
    char[] arrToken = strToken.ToCharArray(); 
    Array.Sort(arrToken); 
    return new string(arrToken); 
} 
+2

提取数字,它解析为int,排序它。你有尝试过什么吗?如果是,发布代码。 –

回答

3

如果你想排序,只是Sort()

String[] source = new String[] { 
    "Item 1", 
    "Item 3", 
    "Item 2", 
    "Item 4" 
    }; 

    Array.Sort<String>(source, (Comparison<String>) (
     (left, right) => { 
     //TODO: Extract the actual value here 
     int leftValue = int.Parse(left.Substring(left.LastIndexOf(' ') + 1)); 
     int rightValue = int.Parse(right.Substring(right.LastIndexOf(' ') + 1)); 

     return leftValue.CompareTo(rightValue); 
     } 
    )); 

要打印出

Console.Write(String.Join(Environment.NewLine, source)); 

结果是

Item 1 
    Item 2 
    Item 3 
    Item 4 
相关问题