首页 > 软件操作教程 > 编程开发 > C#
题目内容

C# 使用switch case表达式进行模式匹配

题目答案

switch case基于特定变量的值。<testVar>的类型已知,例如,可以是integer、string或者boolean。如果是integer类型,则变量中存储的是数字值,case语句将检查特定的整数值(1、2、3等),当找到相匹配的数字后,就执行对应的代码。

switch (<testVar>)

{

    case <comparisonVall>:

        <code to execute if <testVar> == <comparisonVall> > 

        break;

    case <comparisonVal2>:

        <code to execute if <testVar> == <comparisonVal2> > 

        break;

    ...

    case <comparisonValN>:

        <code to execute if <testVar> == <comparisonValN> > 

        break; 

    default:

        <code to execute if <testVar> != comparisonVals> 

        break;

}

C# 7中可以基于变量的类型(如string或integer数组)在switch case中进行模式匹配。因为变量的类型是己知的,所以可以访问该类型提供的方法和属性。查看下面的switch结构:

switch (<testVar>)

{

    case int value:

        <code to execute if <testVar> is an int > 

    break;

    case string s when s.Length == 0:

        <code to execute if <testVar> is a string with a length = 0 > 

        break;

    ...

    case null:

        <code to execute if <testVar> == null > 

        break; 

    default:

        <code to execute if <testVar> != comparisonVals> 

        break;

}

case关键字之后紧跟的是想要检查的变量类型(string、int等)。在case语句匹配时,该类型的值将保存到声明的变量中。例如,若<testVar>是一个integer类型的值,则该integer的值将存储在变量value中。when关键字修饰符允许扩展或添加一些额外的条件,以执行case语句中的代码。

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端