我该如何查看这个号码? C#

时间:2016-11-09 03:16:57

标签: c# datetime

我有一些看起来像这样的文字:

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);  
                }  
            }  
        }  

感谢。

1 个答案:

答案 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; }
        }