裏口からのC#実践入門
2-12 それはリソースの無駄遣い
とりあえずIEnumerable使っておけば間違いない?
using System; using System.Collections.Generic; using System.Linq; namespace Uraguchi.Scene2 { public class Tenshi12 { private static double Calc100Average(IEnumerable<int> array) { return array.Take(100).Average(); } public static void Run() { var en = Enumerable.Range(0, 10000); Console.WriteLine(Calc100Average(en)); } } }
2-13 Java よ安らかに眠れ
別に他言語を煽らなくても。
言語によってはよりよい書き方ができる場合があるよと。
using System; namespace Uraguchi.Scene2 { public class Tenshi13 { delegate int Calc(int x, int y); private static void DoCalc1(Calc Calc) { Console.WriteLine(Calc(2, 6)); } private static void DoCalc2(Func<int ,int, int> calc) { Console.WriteLine(calc(2, 6)); } public static void Run() { DoCalc1((x, y) => x + y / 2); DoCalc2((x, y) => x + y / 2); } } }