我最初使用此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