2016-03-28 14 views
0

私は文字列の最初の文字をキャッチする必要がある何かに取り組んでいました。それがSかsで始まっていれば戻る。私はと考えLINQでの大文字と小文字を区別しない文字列の一致

擬似コードは以下のとおりであった:

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

は残念ながら、これは失敗しました。これを行う最善の方法は何でしょうか?現在私は手紙の各ケースを確認するために2つのラムダを持っています。

+0

^[二解答](http://stackoverflow.com/a/444818/1324033) – Sayse

+0

あなたの擬似コードは近かったが、ジェイスの答えは指摘@として、 'StartsWith'が正しい方法でありますこれを行うには(LINQ-to-Objectsを使用していると仮定します)。 –

+0

非常によく似ていますが、LAMBDA式で見ても分かります – h4mme7

答えて

4

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

2

あなたは、文字列オブジェクトのコレクションを使用している場合、あなたはまた、STARTSWITHを使用することができます。特に

food.StartsWith("s", StringComparison.OrdinalIgnoreCase); 
関連する問題