【发布时间】:2016-09-01 12:20:36
【问题描述】:
如何检查其中 line.Contains("One") 多个字符串?例如选择文件如何包含带有“名称”列表的文本元素的行。
private void button_Click(object sender, RoutedEventArgs e)
{
List<string> names = new List<string>() { "One", "Two", "Three" };
try
{
var files = from file in Directory.EnumerateFiles(@"D:\Logs\", "*.log", SearchOption.AllDirectories)
from line in File.ReadLines(file)
where line.Contains("One")
select new
{
File = file,
Line = line
};
foreach (var f in files)
{
Debug.WriteLine("{0}\t{1}", f.File, f.Line);
}
//MessageBox.Show(files.Count().ToString() + " record found.");
}
catch (UnauthorizedAccessException UAEx)
{
Console.WriteLine(UAEx.Message);
}
catch (PathTooLongException PathEx)
{
Console.WriteLine(PathEx.Message);
}
}
【问题讨论】:
-
你的意思是
line.Contains("One") || line.Contains("names")? -
抱歉,能否请您稍微澄清一下您的问题。英文有点不清楚。
-
你需要使用
any而不是Contains