Daily Archives: 2012年2月9日

C#のラムダ式をチェーンさせる記法が便利!

2012年2月9日 (カテゴリ: C#:)

(この記事は,Hidden Features of C#?を参考に記述しています) C#では、バージョン3.0(Visual C# 2008)以降でサポートされた、ラムダ式というものが有ります。 ラムダ式を使うことで、関数型プログラミングっぽい記述や、デリゲート・イベントハンドラを簡潔に記述することが出来ます。 このラムダ式ですが、実は複数のラムダ式を連結(チェーン)させることが可能です。 //——————————————– // 「dx,dyを渡すと、ハンドラ関数を返す」関数 //—————————…


続きを読む

[C#]コマンドライン引数の解析ライブラリ WinGetOpt

2012年2月9日 (カテゴリ: C#:)

C#でコマンドラインプログラムを作成した際の、起動引数を解析するためのライブラリを作りました。 出来ること 以下の形式でパラメータ指定された引数を解析できます 1:key,valueの指定が可能   例: example.exe /key1 value1 /key2 value2 2:value無しで、キーだけ指定することも可能(スイッチ・フラグ等)   例: example.exe /verbose 3:普通に値だけ指定することももちろん可能   例: example.exe c:\out.txt 4:もちろん上記全部を組み合わせることも可能   例: getOrder.exe /March…


続きを読む

[C#]コンソールプログラムで、Ctrl-Cが押されてもプログラムを終了させない

2012年2月9日 (カテゴリ: C#:)

Console.CancelKeyPressにイベントを登録することで、Ctrl-Cが押されたことを検出できます。 さらに、イベントハンドラ内でCancel=trueにすることで、プログラムの終了を阻止することが可能です。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 using System;   class Test { public static void Main( String[] args ) {   Console.CancelKeyPress += (sender, …


続きを読む

C#で、hello worldをコマンドラインからコンパイルする

2012年2月9日 (カテゴリ: C#:)

C#で、hello worldをコマンドラインからコンパイルする プログラム: using System;   class Test { public static void Main( String[] args ) { System.Console.WriteLine( "hello world" ); } }using System; class Test { public static void Main( String[] args ) { System.Console.WriteLine( "hello world" ); } } …


続きを読む