C#方法读取文本错误日志文件

use*_*432 0 c#

我正在尝试读取我创建的文件,其中包含整个程序中的所有日志行.我有以下鳕鱼:

    private string ReadEmailLog(string EmailLog)
    {
        TextReader tr = new StreamReader(EmailLog);
        tr.ReadLine();
        tr.Close();
    }
Run Code Online (Sandbox Code Playgroud)

我需要读取EmailLog文件的每一行,然后将其返回到一个名为message的字符串中.我怎样才能让这个方法返回整个日志文件,每一行?

Joh*_*ers 5

你可以使用File.ReadAllTextFile.ReadAllLines.

如果您使用的是.NET 4.0,还可以使用File.ReadLines:

var files = from file in Directory.EnumerateFiles(@"c:\",
                "*.txt", SearchOption.AllDirectories)
            from line in File.ReadLines(file)
            where line.Contains("Microsoft")
            select new
            {
                File = file,
                Line = line
            };

foreach (var f in files)
{
    Console.WriteLine("{0}\t{1}", f.File, f.Line);
}
Run Code Online (Sandbox Code Playgroud)

这允许您将文件I/O作为LINQ操作的一部分.