文本文件“Records.txt”this
LUNOTRM206|11/22/2012 15:16:36 PM DISPLAYING
LUNOTRM206|11/22/2012 17:10:38 PM Password
LUNOTRM206|11/02/2012 10:16:44 PM MAINTENANCE
LUNOTRM206|11/05/2012 15:16:44 PM Cheque
LUNOTRM206|11/22/2012 15:16:44 PM USER NAME
LUNOTRM206|11/10/2012 15:16:44 PM USER ROLE
LUNOTRM206|11/10/2012 19:26:44 PM LAST LOGIN
LUNOTRM206|11/22/2012 15:16:44 PM CURRENT LOGIN
LUNOTRM206|11/23/2012 15:16:50 PM SENIU DOOR
LUNOTRM206|11/22/2012 10:16:48 PM DISPLAYING
LUNOTRM206|11/22/2012 15:16:52 PM DISPLAYING
我必须根据日期和时间将上述数据按降序排序
答案 0 :(得分:0)
正如肯所说,你实际上需要先付出努力。下次确保先试试。
此外,如果您希望有人帮助您,您需要先清理文本文件,然后才能继续。你正在使用24小时的时间然后你有“10:16:48 PM”之类的东西,为什么它需要是PM,如果它是24小时时间跨度,例如“19:26:44 PM”。只需使用12小时的时间并按时间添加AM或PM即可轻松转换时间。
我已经清理了下面的文本文件以及添加了|分开最后一列。以下将为您提供一个排序列表
LUNOTRM206|11/22/2012 3:16:36 PM |DISPLAYING
LUNOTRM206|11/22/2012 5:10:38 PM |Password
LUNOTRM206|11/02/2012 10:16:44 AM |MAINTENANCE
LUNOTRM206|11/05/2012 3:16:44 PM |Cheque
LUNOTRM206|11/22/2012 3:16:44 PM |USER NAME
LUNOTRM206|11/10/2012 3:16:44 PM |USER ROLE
LUNOTRM206|11/10/2012 7:26:44 PM |LAST LOGIN
LUNOTRM206|11/22/2012 3:16:44 PM |CURRENT LOGIN
LUNOTRM206|11/23/2012 3:16:50 PM |SENIU DOOR
LUNOTRM206|11/23/2012 10:16:48 AM |DISPLAYING
LUNOTRM206|11/22/2012 3:16:52 PM |DISPLAYING
private void Form3_Load(object sender, EventArgs e)
{
string line;
// Read the file and display it line by line.
System.IO.StreamReader file =
new System.IO.StreamReader("c:\\file.txt");
List<MyClass> myClassList = new List<MyClass>();
while ((line = file.ReadLine()) != null)
{
string[] split = line.Split('|');
MyClass myclass = new MyClass();
myclass.id = split[0];
myclass.date = DateTime.Parse(split[1]);
myclass.role = split[2];
myClassList.Add(myclass);
}
file.Close();
// Sort the list by date
List<MyClass> myClassListSorted = myClassList.OrderByDescending(x => x.date).ToList();
}
class MyClass
{
public string id { get; set; }
public DateTime date { get; set; }
public string role { get; set; }
}