我有一个固定值的字符串数组和一个动态更改文本的richtextbox.richtextbox中的某些行以字符串数组中的值开头.我想只选择richtextbox中不以字符串数组中的值开头的行.以下代码返回richtextbox中的所有行.
string[] parts = new string[] { "Definition:", "derivation:", "derivations:"};
IEnumerable<string> lines = richTextBox1.Lines.Where(
c =>parts.Any(b=>!c.StartsWith(b)));
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何只选择不以字符串数组中的值开头的richtextbox的行?
更改Any到All.在编写时,它会返回所有行,因为一行不能以多个单词开头.
您当前的代码说,"如果部分中的任何单词不是该行的第一个单词,则返回true." 显然,该行不能以"foo"和"derivation:"开头.所以你永远都是真的.
你想说,"如果部分中的所有单词都不是该行的第一个单词,则返回true."
另一种方法是:
lines = richTextBox1.Lines.Where(c => !parts.Any(b => c.StartsWith(b)));
Run Code Online (Sandbox Code Playgroud)
这可能是我写的方式.