2010年10月29日
Any拡張メソッド
指定した複数の値を繰り返すの記事に対して、neueccさんが、
って、もう、半月も前のものだけれど...
なので、ちょっと書き換えてみました。
というコードを期待しているのかな?
それとも、もっと良い方法があるのかな?
まあ、Any拡張メソッドは、MSDNライブラリには、
とあるので、最悪でも最初の要素しかアクセスしないので、Count()メソッド使うよりも効率的だし、 僕が作成するアプリにおいては、実質的に問題になる事は無いと考えています。
それよりは、コード量が増えるほうがイヤです。
IEnumerableとつぶやいていました。を受け取るのにwhile(items.Any()) はよろしくない。
って、もう、半月も前のものだけれど...
なので、ちょっと書き換えてみました。
というコードを期待しているのかな?
それとも、もっと良い方法があるのかな?
まあ、Any拡張メソッドは、MSDNライブラリには、
「source の列挙は、結果が確認できるとすぐに停止します。」
とあるので、最悪でも最初の要素しかアクセスしないので、Count()メソッド使うよりも効率的だし、 僕が作成するアプリにおいては、実質的に問題になる事は無いと考えています。
それよりは、コード量が増えるほうがイヤです。
2010年03月10日
引数なし Enumerable.Any メソッド
Enumerable.Any メソッドって、シーケンスの任意の要素が条件を満たしているかどうかを
判断する機能としてしか使っていなかったけど、引数が無いAnyメソッドってあったんですね。
要素の有無を調べることができます。
見落としていました。
int[] array1 = new int[] { 1,2,3 };
int[] array2 = new int[] { };
Console.WriteLine(array1.Any());
Console.WriteLine(array2.Any());
で、
True
False
が表示されます。
判断する機能としてしか使っていなかったけど、引数が無いAnyメソッドってあったんですね。
要素の有無を調べることができます。
見落としていました。
int[] array1 = new int[] { 1,2,3 };
int[] array2 = new int[] { };
Console.WriteLine(array1.Any());
Console.WriteLine(array2.Any());
で、
True
False
が表示されます。



