如何使用数字正确地对列表<string>进行排序?

Meh*_*ard -2 .net c# linq sorting

我遇到了难以对包含数字的列表项字符串进行排序.我希望我可以自动从最小到最大排序.这是我的代码:

// Initialize an array to store the numbers
List<string> tab_num = new List<string>();
tab_num.Add("A.3.2.1");
tab_num.Add("A.3.3.1");
tab_num.Add("A.1.0.1");
tab_num.OrderByDescending(num => num).ToList();
Run Code Online (Sandbox Code Playgroud)

为什么我的结果是假的?...

[1] A.3.2.1

[2] A.3.3.1

[3] A.1.0.1
Run Code Online (Sandbox Code Playgroud)

预期结果:

[1] A.1.0.1

[2] A.3.2.1

[3] A.3.3.1
Run Code Online (Sandbox Code Playgroud)

非常感谢

小智 6

OrderByDescending意味着从大到小.您也不会在排序后分配结果.

试试这个:

        List<string> tab_num = new List<string>();
        tab_num.Add("A.3.2.1");
        tab_num.Add("A.3.3.1");
        tab_num.Add("A.1.0.1");
        tab_num = tab_num.OrderBy(num => num).ToList();
Run Code Online (Sandbox Code Playgroud)