从C#中的txt文件查询特定行

时间:2016-02-20 10:36:41

标签: c# .net linq

我有以下文本文件: http://pastebin.com/K45Ew5CU

我想做一个特定的查询,从特定的一分钟开始,然后将它们放在一个数据网格中,该数据网格有一个对象(String TimeStamp,String ComputerName,String ID,String Event)作为其数据字段。

例如:假设我想显示从10:10:00到当前时间的所有行。

如何测试每一行以确定它是否符合我的时间要求?

1 个答案:

答案 0 :(得分:6)

使用此:

foreach($inc_quotes as $quote){
        $quote_name = $quote->name;
    }

现在,您可以在数据表中使用var queryResult = File.ReadAllLines("<yourFile.txt>").Skip(1).TakeWhile(x => (DateTime.Parse(x.Substring(0, 19), CultureInfo.InvariantCulture).TimeOfDay.TotalSeconds) > (new TimeSpan(10, 10, 0).TotalSeconds)).ToArray(); 。如果您需要进一步的帮助,请发表评论。

更好的版本,使用匿名类型:

queryResult

现在,您可以从var queryResult = File.ReadAllLines("<yourFile.txt>") .Skip(1) .TakeWhile(x => (DateTime.Parse(x.Substring(0, 19), CultureInfo.InvariantCulture).TimeOfDay.TotalSeconds) > (new TimeSpan(10, 10, 0).TotalSeconds)) .Select(x => new { TimeStamp = DateTime.Parse(x.Substring(0, 19), CultureInfo.InvariantCulture), CoumputerName = x.Substring(21, 10), ID = x.Substring(45, 4), Event = x.Substring(59)}) .ToArray(); 访问个别数据。