将字符串数组与另一个中的起始值进行比较

Fad*_*lMS 0 c# linq

我有一个固定值的字符串数组和一个动态更改文本的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的行?

Jim*_*hel 8

更改AnyAll.在编写时,它会返回所有行,因为一行不能以多个单词开头.

您当前的代码说,"如果部分中的任何单词不是该行的第一个单词,则返回true." 显然,该行不能以"foo"和"derivation:"开头.所以你永远都是真的.

你想说,"如果部分中的所有单词都不是该行的第一个单词,则返回true."

另一种方法是:

lines = richTextBox1.Lines.Where(c => !parts.Any(b => c.StartsWith(b)));
Run Code Online (Sandbox Code Playgroud)

这可能是我写的方式.