LINQ中的不区分大小写的字符串匹配

时间:2016-03-28 17:38:18

标签: c# lambda

我正在研究一些需要我捕捉字符串的第一个字符的东西。如果它以S或s开头则返回。

我考虑过的伪代码是:

var foodsWithS = Foods.Where(food => food.Name[0] == 'S' || food.Name[0] == "s").Select(i => i.Name);

不幸的是,这失败了。最好的方法是什么?目前我有两个lambdas来检查这封信的每个案例。

2 个答案:

答案 0 :(得分:4)

foods.Where(x => x.StartsWith("S", StringComparison.OrdinalIgnoreCase));

答案 1 :(得分:2)

如果您正在使用字符串对象的集合,您还可以使用StartsWith;

food.StartsWith("s", StringComparison.OrdinalIgnoreCase);