実践で役立つ C#プログラミングのイディオム/定石&パターン その2
Chapter 2 C# でプログラムを書いてみよう
今回から2章について学びます。
距離計算プログラム
メートルとフィートとの単位変換のプログラムを作成する過程で、プログラムの分離について学びます。
インスタンスプロパティやインスタンスフィールドを利用していないメソッドは、静的メソッドにできることがポイントです。また、クラス全てがそうである場合、静的クラスにすることができます。
Visual Studio でコマンドライン引数を渡す
Mainプログラム
namespace DistanceConventer { class Program { static void Main(string[] args) { if (args.Length >= 1 && args[0] == "-tom") { PrintFeetToMeterList(1, 10); } else { PrintMeterToFeetList(1, 10); } } // フィートからメートルへの対応表を出力 static void PrintFeetToMeterList(int start, int stop) { for (int feet = start; feet <= stop; feet++) { double meter = FeetConverter.ToMeter(feet); Console.WriteLine("{0} ft = {1:0.0000} m", feet, meter); } } // メートルからフィートへの対応表を出力 static void PrintMeterToFeetList(int start, int stop) { for (int meter = 1; meter <= 10; meter++) { double feet = FeetConverter.FromMeter(meter); Console.WriteLine("{0} ft = {1:0.0000} ft", meter, feet); } } } }
変換プログラム
namespace DistanceConventer { // フィートとメートルの単位変換クラス public static class FeetConverter { private const double raito = 0.3048; // メートルからフィートを求める public static double FromMeter(double meter) { return meter / raito; } // フィートからメートルを求める public static double ToMeter(double feet) { return feet * raito; } } }
本
実戦で役立つ C#プログラミングのイディオム/定石&パターン
- 作者: 出井秀行
- 出版社/メーカー: 技術評論社
- 発売日: 2017/02/18
- メディア: 大型本
- この商品を含むブログ (1件) を見る
感想
static にすべきクラスやメソッド、定数などについて学ぶことができました。プログラムを再利用するために、分離してまとめることを行いました。