• C#when关键字


    在C#中,when关键字用于在模式匹配表达式中添加条件。它允许您在模式匹配的过程中指定额外的条件,以进一步过滤匹配的模式。当模式匹配和附加条件都为真时,相关的代码块将被执行。

    以下是when关键字的详细解释以及示例说明:

    1. 语法:
    switch (expression)
    {
        case pattern when condition:
            // 执行相关代码块
            break;
        // 其他 case 语句
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. 解释:
    • expression:要进行模式匹配的表达式。
    • pattern:要匹配的模式。
    • condition:额外的条件表达式,在模式匹配成功时进行判断。
    1. 示例:
    int number = 5;
    switch (number)
    {
        case > 0 and < 10:
            Console.WriteLine("Number is between 0 and 10");
            break;
        case > 10 when number % 2 == 0:
            Console.WriteLine("Number is greater than 10 and even");
            break;
        case > 10:
            Console.WriteLine("Number is greater than 10");
            break;
        default:
            Console.WriteLine("Number is unknown");
            break;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在上述示例中,我们使用switch语句对变量number进行模式匹配。在第一个case语句中,我们使用范围模式(> 0 and < 10)来匹配number是否在0和10之间。如果匹配成功,且没有其他条件,将执行相关代码块。

    在第二个case语句中,我们使用范围模式(> 10)来匹配number是否大于10。但是,我们还添加了一个额外的条件(number % 2 == 0),它要求number是偶数。只有当模式匹配成功且额外的条件为真时,才会执行相关代码块。

    在最后一个case语句中,我们没有使用when关键字,因此只有在模式匹配成功且没有附加条件时,才会执行相关代码块。

    when关键字为模式匹配提供了更多的灵活性,允许根据附加条件进一步控制代码的执行。

  • 相关阅读:
    springboot幼儿园幼儿基本信息管理系统毕业设计源码201126
    Qt学习--QT Creator使用基本介绍
    【花式】Matlab实现填充柱形图
    地平线 旭日X3 PI (一)首次开机细节
    08-分布式
    【力扣每日一题】2023.9.10 打家劫舍Ⅳ
    打造无证服务化:这个政务服务平台有点不一样
    Opencv算术操作
    Android Studio运行kotlin项目,一直Read timed out
    Splunk API : {“preview“:false,“lastrow“:true}
  • 原文地址:https://blog.csdn.net/ultramand/article/details/134227936