温馨提示×

c#中的switch能处理null值吗

c#
小樊
130
2024-09-28 05:22:58
栏目: 编程语言

在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的值。如果valuenull,我们打印一条消息。如果value是字符串"Default",我们打印另一条消息。对于所有其他值,我们打印第三条消息。

需要注意的是,这个示例中的switch语句并不是直接处理null值,而是通过使用null合并运算符在case语句中检查null值。

0