C# Switch拡張メソッド

C#のswitchステートメントって不便ですよね。古くさいというか。
戻り値が返せなかったり、複雑な条件が指定できなかったり。

ですので、Switch拡張メソッドを作ってみました。

たとえばint型変数valueの値によって文字列を返す場合、以下のように使用します。
var str = value.Switch()
.Case(0, “0です。”)
.Case(x => x > 0, “プラスです。”)
.Default(“マイナスです。”);

たとえば変数valueの値によって何らかの処理を行う場合、以下のように使用します。
value.Switch()
.Case(0, x => {
//0の場合の処理
}).Case(x => x > 0, x => {
//プラスの場合の処理
}).Default(x => {
//マイナスの場合の処理
});

Switch拡張メソッドはobject型の拡張メソッドになっており、CaseメソッドやDefaultメソッドなどをメンバに持つSwitch処理用のクラスを返すようになっています。

コメントを残す