在文件2001.txt中有11080行记录,记录格式如下:0001,2011/05/10 00:05:10,01,0015309770
0001,2011/05/10 00:05:10,23,0305第一列是ID号,第二列是日期和时间,第三列是状态代码,第四列是卡号或者是事件代码目前此文件按照日期时间排序,要求编写一个程序,读出此文件后,重新按照状态代码、卡号、日期时间排序(升序)后再写入到2002.txt,并且显示在一个浏览框中。
0001,2011/05/10 00:05:10,23,0305第一列是ID号,第二列是日期和时间,第三列是状态代码,第四列是卡号或者是事件代码目前此文件按照日期时间排序,要求编写一个程序,读出此文件后,重新按照状态代码、卡号、日期时间排序(升序)后再写入到2002.txt,并且显示在一个浏览框中。
.Select(value => value.Split(','))
.Select(value => new KeyValuePair<string, string[]>(value[2] + value[0] + value[1], value))
.OrderBy(value => value.Key)
.Select(value => String.Join(",", value.Value)).ToArray());
string[] lines = File.ReadAllLines("2001.txt");
Array.Sort(lines, delegate(string s1, string s2)
{
string[] temp1 = s1.Split(',');
string[] temp2 = s2.Split(',');
if (temp1[2] == temp2[2])
{
if (temp1[3] == temp2[3])
return temp1[1].CompareTo(temp2[1]);
return temp1[3].CompareTo(temp2[3]);
}
return temp1[2].CompareTo(temp2[2]);
});
File.WriteAllLines("2002.txt", lines);