2016-08-17 8 views
-3

次のことが可能です:LINQを使用してpで始まるすべての姓を取得します。しかし、姓と名はスペースで区切られた1つの単語です。 例はJonh Peterです。ルークサム、ロックペーパー、リー・PLINQで分割文字列の2番目の要素を使用します。

私は次のことを試してみました:

var result = test.Where(x => x.Owner.Split(' ')[1] 
       .ToLowerInvariant() 
       .StartsWith("p") 
      ); 
+3

文字列を返したので、それは冗長なコードですToString()を削除することができますか? – saarrrr

+0

{"インデックスは配列の境界外にありました"}しかし、[0]または最初のエラーはないが正しい結果ではない –

+0

なぜ文字列で 'ToString()'を呼び出すのですか? – itsme86

答えて

3

か、単に

var result = test.Where(x => x.IndexOf(" P", StringComparison.OrdinalIgnoreCase) > 0); 
+1

related [Falsehoods Programmersは名前について信じています(https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/):] – Slai

2

Split('')はスペースで分割されていません。使用:Split(' ')

そして、あなたはSplit(' ')[1]がすでにサンプルコードからどのような結果を得ました

関連する問題