2016-03-28 50 views
0

我正在處理一些需要我捕獲字符串的第一個字符的東西。如果以S或s開始,則返回。LINQ中區分大小寫的字符串匹配其中

我考慮的是僞代碼:

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

不幸的是,這將失敗。什麼是最好的方法來做到這一點?目前我有兩個lambda來檢查每封信的情況。

+0

^尤其[第二個答案](http://stackoverflow.com/a/444818/1324033) – Sayse

+0

你的僞接近,但作爲@傑斯的回答指出,'StartsWith'纔是正道要做到這一點(假設你使用LINQ到對象)。 –

+0

爲真。非常相似......但很好看在LAMBDA表達 – h4mme7

回答

4

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

2

如果使用字符串對象的集合,您還可以使用StartsWith;

food.StartsWith("s", StringComparison.OrdinalIgnoreCase); 
相關問題