c#linq选择不以.开头的单词

Rie*_*era 0 c# linq arrays

考虑这些数组:

string[] bad_starts = { "a", "b", "col" };
string[] word_list = { "green", "blue", "color", "cyan", "maroon", "white", "black" };
Run Code Online (Sandbox Code Playgroud)

我需要选择所有word_list不以任何字符串开头的单词bad_starts.预期的结果是:

{ "green", "cyan", "maroon", "white" };
Run Code Online (Sandbox Code Playgroud)

有解决方案吗 我们可以使用linq加入吗?

Jar*_*Par 11

请尝试以下方法

var r = word_list.Where(x => !bad_starts.Any(b => x.StartsWith(b)));
Run Code Online (Sandbox Code Playgroud)

不区分大小写的版本

var r = word_list.Where(x => 
  !bad_starts.Any(b => x.StartsWith(b, StringComparison.OrdinalIgnoreCase)));
Run Code Online (Sandbox Code Playgroud)