カテゴリー
C

独習C#第3版、P526 要素を表すselect句の使い方

using System;
using System.Linq;

namespace Chapter01All
{

    static class LinqSampleSelect
    {
        public static double Nijyou(this double n)
        {
            return n * n;
        }

        static void Main()
        {
            double[] nums = { -10.0, 16.4, 12.125, 100.85, -2.2, 25.25, -3.5 };
            var sqrRoots = from n in nums
                           where n > 0 | n < 0
                           //where n > 0
                           //select Math.Sqrt(n);
                           select Nijyou(n);
            foreach (double x in sqrRoots)
                Console.WriteLine("{0:#.##}",x);
        }
    }
}

 本の内容は、コメントアウトしているようになってます。少しだけ変えて、拡張メソッドを使ってみました。Sqrtはn>0ですが、二乗の場合はマイアスでもプラスでもいいので、where n > 0 | n < 0としましたが、where nだけだとエラーです。Math.SqrtとNijyouは関数的には同じ値を持つということだと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

inserted by FC2 system