如何按数值样式对字符串数组进行排序?

时间:2015-05-14 10:13:16

标签: c#

我有一个字符串数组,我想按编号对其进行排序,请给我一个解决方案。 例如:

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

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

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

1 个答案:

答案 0 :(得分: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