kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

(私の中で)三項演算子を再評価

C#にもC言語系伝統の三項演算子があります。

  int i = 3;
  printf(" i は %s です\n", (i % 2) == 0 ? "偶数" : "奇数");

三項演算子って、機能としては知っていますが、積極的には使ってきませんでした。Cの場合、これ使わないとだめなケースってあまりなかったように記憶しています。そしてそれが積極的に使わない大きな理由の一つでした。ところが、最近C#ラムダ式を使うようになってころっと三項演算子を再評価しています。

  HashSet<string> foo = new HashSet<string>();
   ....
  var  col = foo.Where(x => String.Compare(x.Substring(0, 2), "xx") == 0 ? true : false);

文字列比較のCompare()の結果はint型です。これでは困る〜ということで、三項演算子でさくっと使えます。