我有一些看起来像这样的文字:
Number:12345678
Status:FAIL
Date:10/26/2016 4:33 PM
Number:11111117
Status:FAIL
Date:10/26/2016 4:52 PM
Number:11111115
Status:PASS
Date:10/26/2016 4:58 PM
有没有办法检查具有最新日期的号码,如果PASS返回带有“1”的消息框,如果失败则返回带有“0”的消息框?
我开始这样的事情,但我被困住了。我不知道如何将textfile中的所有日期时间与datetime.now进行比较。并且文本不会那样,数字和日期时间不断更新。
static void Main(string[] args)
{
List<string> find = new List<string>();
string datetime;
using (StreamReader file = new StreamReader("C:\\Temp\\PASS-FAIL STATUS.txt"))
{
while ((datetime = file.ReadLine()) != null)
{
if (datetime.Contains("Date"))
{
find.Add(datetime);
}
}
}
感谢。
答案 0 :(得分:0)
例如:
static void Main(string[] args)
{
List<DataModel> models = new List<DataModel>();
var lines = File.ReadLines("C:\\Temp\\PASS-FAIL STATUS.txt").ToArray();
for(int i = 0; i < lines.Count(); i = i + 3)
{
var number = lines[i].Replace("Number:", "");
var status = lines[i+1].Replace("Status:", "");
var dateTime = lines[i+2].Replace("Date:", "");
models.Add(new DataModel {
Number = number,
Status = status,
Date = DateTime.ParseExact(dateTime, "M/d/yyyy h:m tt", System.Globalization.CultureInfo.InvariantCulture)
});
}
Console.ReadKey();
}
public class DataModel
{
public string Number { get; set; }
public string Status { get; set; }
public DateTime Date { get; set; }
}