Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按记录范围对C#中传入的文本数据文件进行排序_C#_Sorting - Fatal编程技术网

按记录范围对C#中传入的文本数据文件进行排序

按记录范围对C#中传入的文本数据文件进行排序,c#,sorting,C#,Sorting,我收到一个文件(在文本框中显示) 我不能影响我收到它的顺序。但是,我想从第12列排序到第19列,然后从第1列排序到第6列(按日期,然后按数字)-顺序相反 目前,我对创建新文件的文件调用DOS排序(.bat),但必须有一种在C#中排序的方法 我想在文本框中对其进行排序,或者加载一个数组,对其进行排序,然后加载文本框。尝试以下操作: var lines = new [] { "123465.xxx.20150115", "123465.xxx.20150222", "9999

我收到一个文件(在文本框中显示)

我不能影响我收到它的顺序。但是,我想从第12列排序到第19列,然后从第1列排序到第6列(按日期,然后按数字)-顺序相反

目前,我对创建新文件的文件调用DOS排序(.bat),但必须有一种在C#中排序的方法

我想在文本框中对其进行排序,或者加载一个数组,对其进行排序,然后加载文本框。

尝试以下操作:

var lines = new []
{
    "123465.xxx.20150115",
    "123465.xxx.20150222",
    "999999.xxx.20150120",
}; 

var sorted =
    lines
        .OrderByDescending(l => l.Substring(11, 8) + l.Substring(0, 6))
        .ToArray();
由于字符串索引是基于
0
的,因此
子字符串(11,8)
提供“第12列到第19列”和
。子字符串(0,6)
提供“第1列到第6列”

我得到这个结果:

var lines = new []
{
    "123465.xxx.20150115",
    "123465.xxx.20150222",
    "999999.xxx.20150120",
}; 

var sorted =
    lines
        .OrderByDescending(l => l.Substring(11, 8) + l.Substring(0, 6))
        .ToArray();