C#lambda表达式返回值

Dor*_*oro 0 c# lambda

我有一个lambda表达式,我想找回匹配的值.这是一个例子:

if (Keywords.Any(s => sourceString.Contains(" " + s.Trim())))
          return s;
Run Code Online (Sandbox Code Playgroud)

Jam*_*mes 6

假设您只想要第一个匹配的结果(假设您正在使用Any),则可以将First/FirstOrDefault与过滤器一起使用.鉴于可能没有匹配,我建议使用FirstOrDefault(First在这种情况下会抛出异常).

var matched = Keywords.FirstOrDefault(s => sourceString.Contains(" " + s.Trim()));
Run Code Online (Sandbox Code Playgroud)