如何根据项目的整数值对列表进行排序

list 就像

"1"
"5"
"3"
"6"
"11"
"9"
"NUM1"
"NUM0"

结果应该像
"1"
"3"
"5"
"6"
"9"
"11"
"NUM0"
"NUM1"

有什么想法使用LINQ或Lambda表达式来做到这一点吗?

提前致谢

最佳答案

怎么样:

    list.Sort((x, y) =>
    {
        int ix, iy;
        return int.TryParse(x, out ix) && int.TryParse(y, out iy)
              ? ix.CompareTo(iy) : string.Compare(x, y);
    });

10-08 05:08