var userType = "";
var result = userType switch
{
//要使用 when 關鍵字來使用
var t when string.IsNullOrEmpty(t) => "DEFAULT",
"PLUS" => "CALL_PLUS",
"PREMIUM" => "CALL_PREMIUM",
"Ultimate" => "CALL_ULTIMATE",
_ => "CALL_DEFAULT"
};
最後,因為我常用的方法都是判斷條件之後都要去呼叫相關的 Logic function ,這時候不能只有回傳值,但是 expressions 的作法
都必須要有回傳值,所以只能在小改寫一下 code
var userType = "";
var result = userType switch
{
var t when string.IsNullOrEmpty(t) =>
new Func(() => { Console.WriteLine("Default"); return "CALL_DEFAULT"; })(),
"PLUS" =>
new Func(() => { Console.WriteLine("Plus"); return "CALL_PLUS"; })(),
"PREMIUM" =>
new Func(() => { Console.WriteLine("Premium"); return "CALL_PREMIUM"; })(),
"Ultimate" =>
new Func(() => { Console.WriteLine("Ultimate"); return "CALL_ULTIMATE"; })(),
_ =>
new Func(() => { Console.WriteLine("Default"); return "CALL_DEFAULT"; })(),
};
Console.WriteLine(result);