C# 在文本文件中搜索日期,并枚举所有日期,只输出高于第一个日期的日期

C# 在文本文件中搜索日期,并枚举所有日期,只输出高于第一个日期的日期,c#,C#,我正在将文本文件读取到列表中,并将行号添加到输出中。我想搜索MM/Day/Year格式的日期并将其输出到控制台。如果文本文件中的下一个日期与找到的上一个日期相同,则我不想输出它,我只想输出比上一个日期晚的日期。我是编程新手,在网站上搜索了日期搜索代码,但没有找到我理解的东西。这是我目前的代码 internal class LineInformation { public int Index { get; set; } public string L

我正在将文本文件读取到列表中,并将行号添加到输出中。我想搜索MM/Day/Year格式的日期并将其输出到控制台。如果文本文件中的下一个日期与找到的上一个日期相同,则我不想输出它,我只想输出比上一个日期晚的日期。我是编程新手,在网站上搜索了日期搜索代码,但没有找到我理解的东西。这是我目前的代码

    internal class LineInformation
    {
        public int Index { get; set; }
        public string Line { get; set; }
    }
    static void Main(string[] args)
    {var fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "doc.txt");

        var theWholeFile = File.ReadLines(fileName)
            .Select((line, index) => new LineInformation { Line = line, Index = index }).ToList();
现在我不知道如何专门搜索上述日期格式并将其写入控制台。我如何声明一个日期格式,如MM/Day/Year,然后说:

    if(line.Contains(date)=>1stdate)
    {Console.WriteLine(date)} 

如果您只需要将当前日期与最后一个日期进行比较,如果最后一个日期大于当前日期,则忽略当前日期,那么您可以这样做。希望能有帮助

var fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,     "doc.txt");
var theWholeFile = File.ReadLines(fileName)
    .Select((line, index) => new LineInformation { Line = line, Index = index}).ToList();
var lastValue = string.Empty;
foreach (var x in theWholeFile)
{
   //The first date will be printed no matter what
    if (lastValue == string.Empty)
    {
        Console.WriteLine(DateTime.ParseExact(x.Line,"mm/dd/yyyy", CultureInfo.InvariantCulture));
        lastValue = x.Line;
    }
    else
    {
        if (DateTime.Parse(x.Line) > DateTime.Parse(lastValue))
        {
            Console.WriteLine(DateTime.ParseExact(x.Line, "mm/dd/yyyy", CultureInfo.InvariantCulture));
        }
        lastValue = x.Line;
    }

}

我可能会从正则表达式开始,将其拆分为包含日期的行,除非这样,然后转换正则表达式找到的日期并进行比较。谢谢@BugFinder,我会看看正则表达式,看看我能学到什么。我真的不明白你在说什么,但我会去仔细阅读。你没有包括输入和期望的输出。我猜你只需要在每一行中找到datetime(
Substring()
如果位置已知,
Split
+index/logic或regex),然后将其与
datetime()
的实例进行比较(例如
var firstDate=datetime.Today.AddDays(-1);
)@Sinatr如果我的描述不太清楚,我想在文本文件中搜索mm/dd/yyy格式的日期。我知道如何读取文本文件和搜索关键字,但我不知道如何搜索mm/dd/yyyy的日期格式。文件中有很多重复的日期,但我只希望所有日期都重复一次(不重复)。然后,当我使用Console.WriteLine时,我希望看到所有没有重复日期的日期。这可能不容易,最好是您显示此输入文件的一部分,以便有人能给您提供好的建议。应该有一个模式来识别日期时间(例如,通常您可以尝试使用那些太斜杠:mm
/
dd
/
yyyy,以及之前的知识,第一个斜杠是01-12之间的数字,然后是另一个01-31,然后是4位数的年份。)