我最初使用此if语句来检查一行是否包含字符串,并相应地删除它。删除LINQ中不包含特定字符串的所有行
if (!currentFile[i].Contains("whattoremove"))
{
currentFile[i] = "";
}
File.WriteAllLines(logPath, File.ReadAllLines(logPath).Where(l => !string.IsNullOrWhiteSpace(l)));
但是,它似乎有些单调乏味,所以我想在LINQ
string[] currentFile = File.ReadAllLines(logPath).Where(l => string.Contains("whattoremove")
写这出乎我的意料,似乎string.Contains这里不存在。有什么办法可以使用LINQ来做到这一点?
原来的代码不会删除的项目,只将其设置为空字符串。那是你想要做的吗? – vesan
我最初的工作是将其设置为空字符串,并在末尾使用LINQ删除所有添加的空白。我试图这样做的原因是因为它看起来更有效率。我现在编辑了这个问题,以便更清楚地说明 – Reloaded
好吧,在任何情况下,'string.Contains'都是一个实例方法,而不是静态方法,所以在第二个示例中,您必须像这样使用它:'l .contains(“whattoremove”)' – vesan