温馨提示×

c#中的switch能处理null值吗

c#
小樊
93
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