C#如何使用linq按索引对文件列表进行排序

seb*_*a23 3 c# linq sorting

您好我需要对文件夹中的所有文件进行排序,但我遇到了问题,因为我需要按索引对它们进行排序.我给你举个例子:

我的文件格式如下:dateHoursMinutes_index_nameOfFile.dat

以前我曾经Array.Sort(_myFiles);对它们进行排序,但现在我需要按顺序对它们进行排序.

我如何使用linq来做到这一点?

谢谢

mm8*_*mm8 5

请参考以下示例代码:

string[] _myFiles = new string[4]
{
    "dateHoursMinutes_4_nameOfFile",
    "dateHoursMinutes_1_nameOfFile",
    "dateHoursMinutes_3_nameOfFile",
    "dateHoursMinutes_2_nameOfFile"
};

char[] sep = new char[1] { '_' };
string[] sorted = _myFiles
    .OrderBy(x => Convert.ToInt32(x.Split(sep)[1]))
    .ToArray();
Run Code Online (Sandbox Code Playgroud)

  • 我认为索引应该按int而不是字符串排序.因此它将是1,2,3,10而不是1,10,2,3 (2认同)