ForEachのラムダ式で条件演算子を使用することはできませんか?ForEach()のラムダ式の条件付き演算子を汎用リストに使用しますか?
List<string> items = new List<string>{"Item 1", "Item 2", "Item I Care About"};
string whatICareAbout = "";
// doesn't compile :(
items.ForEach(item => item.Contains("I Care About") ?
whatICareAbout += item + "," : whatICareAbout += "");
コンパイル・エラー - >「のみ割り当て、呼び出し、インクリメント、デクリメント、および新しいオブジェクト式がステートメントとして使用することができ、」
ノーマルを使用しようとすると動作しない場合は、次のいずれか
// :(
items.ForEach(item => if (item.Contains("I Care About")) {whatICareAbout += item + ", ";}
ちょっとできませんか?
Sheesh私は非常に答えに感心しています。私は@SLaksが私の質問の意図に答えると思いますが、Aggregate()は私の心を吹き飛ばします。 :) Thanks again everyone everyone: – Jamezor
条件演算子の型として文字列式があり、.ForEach()メソッドの文が必要でした。コンパイルエラーがそこにあったのです。 –
@Roman - 今すぐ入手!私は思いますか? x:yが(a){x} else {y}の短手であるが?この場合の文字列だったxとyの値を返します。 – Jamezor