C# 面试题 目录

C# 中 switch 表达式的用法

推荐答案

-- -------------------- ---- -------
--- --- - --
------ ------- - --- ------
-
    - -- ---------
    - -- ----------
    - -- ------------
    - -- -----------
    - -- ---------
    - -- -----------
    - -- ---------
    - -- -------- ----
--

---------------------------  -- --- ---------

本题详细解读

1. 基本语法

C# 8.0 引入了 switch 表达式,它提供了一种更简洁的方式来处理基于模式匹配的条件分支。与传统的 switch 语句不同,switch 表达式返回一个值,并且语法更加紧凑。

2. 语法结构

switch 表达式的基本语法如下:

  • expression 是要匹配的表达式。
  • pattern 是匹配的模式,可以是常量、类型模式、属性模式等。
  • result 是匹配成功时返回的结果。
  • _ 是默认情况,类似于传统 switch 语句中的 default

3. 示例解析

在推荐答案中,day 是一个整数变量,表示一周中的某一天。switch 表达式根据 day 的值返回对应的星期名称。

  • 如果 day1,返回 "Monday"
  • 如果 day2,返回 "Tuesday"
  • 如果 day3,返回 "Wednesday"
  • 以此类推,直到 7 返回 "Sunday"
  • 如果 day 的值不在 17 之间,返回 "Invalid day"

4. 与传统 switch 语句的对比

传统的 switch 语句需要显式地使用 break 语句来防止贯穿,而 switch 表达式则不需要。此外,switch 表达式可以直接返回一个值,使得代码更加简洁。

5. 适用场景

switch 表达式适用于需要根据某个值返回不同结果的场景,尤其是在处理枚举、常量或模式匹配时。它可以使代码更加简洁和易读。

6. 注意事项

  • switch 表达式必须覆盖所有可能的情况,或者使用 _ 作为默认情况。
  • switch 表达式返回的值必须与目标类型兼容。
纠错
反馈