2010年10月29日

Any拡張メソッド

   このエントリーをはてなブックマークに追加 Clip to Evernote
指定した複数の値を繰り返すの記事に対して、neueccさんが、
IEnumerableを受け取るのにwhile(items.Any()) はよろしくない。
とつぶやいていました。
って、もう、半月も前のものだけれど...

なので、ちょっと書き換えてみました。
というコードを期待しているのかな?
それとも、もっと良い方法があるのかな?

まあ、Any拡張メソッドは、MSDNライブラリには、
「source の列挙は、結果が確認できるとすぐに停止します。」

とあるので、最悪でも最初の要素しかアクセスしないので、Count()メソッド使うよりも効率的だし、 僕が作成するアプリにおいては、実質的に問題になる事は無いと考えています。
それよりは、コード量が増えるほうがイヤです。

  

Posted by gushwell at 10:31Comments(6)TrackBack(0)

2010年03月10日

引数なし Enumerable.Any メソッド

   このエントリーをはてなブックマークに追加 Clip to Evernote
Enumerable.Any メソッドって、シーケンスの任意の要素が条件を満たしているかどうかを
判断する機能としてしか使っていなかったけど、引数が無いAnyメソッドってあったんですね。
要素の有無を調べることができます。
見落としていました。

int[] array1 = new int[] { 1,2,3 };
int[] array2 = new int[] { };
Console.WriteLine(array1.Any());
Console.WriteLine(array2.Any());

で、

True
False

が表示されます。
  
Posted by gushwell at 23:07Comments(0)TrackBack(0)