在C#中,switch
語句本身不能直接處理null
值。switch
語句在C# 7.0及更高版本中支持null
合并運算符(??
),允許你在case
語句中檢查null
值,但這是在case
標簽或表達式中進行的,而不是在switch
語句的主體中。
下面是一個使用null
合并運算符的示例:
object value = null;
value = value ?? "Default";
switch (value)
{
case null:
Console.WriteLine("Value is null");
break;
case string s when s == "Default":
Console.WriteLine("Value is default");
break;
default:
Console.WriteLine("Value is something else");
break;
}
在這個示例中,我們首先將value
初始化為null
。然后,我們使用null
合并運算符為value
分配一個默認值(在這個例子中是字符串"Default"
)。接下來,我們使用switch
語句檢查value
的值。如果value
是null
,我們打印一條消息。如果value
是字符串"Default"
,我們打印另一條消息。對于所有其他值,我們打印第三條消息。
需要注意的是,這個示例中的switch
語句并不是直接處理null
值,而是通過使用null
合并運算符在case
語句中檢查null
值。