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は関数的には同じ値を持つということだと思います。