{ case "apple": Console.WriteLine("It's an apple."); break; case "banana": Console.WriteLine("It's a banana.");"> { case "apple": Console.WriteLine("It's an apple."); break; case "banana": Console.WriteLine("It's a banana.");">
legongju.com
我们一直在努力
2024-12-31 03:35 | 星期二

c# switch支持哪些类型

C# 中的 switch 语句支持以下几种类型:

  1. 字符串(string):这是最常用的 switch 类型,可以对字符串进行比较。
string input = "apple";

switch (input)
{
    case "apple":
        Console.WriteLine("It's an apple.");
        break;
    case "banana":
        Console.WriteLine("It's a banana.");
        break;
    default:
        Console.WriteLine("Unknown fruit.");
        break;
}
  1. 整数(int、short、byte、sbyte):可以对整数进行比较,支持范围检查。
int number = 2;

switch (number)
{
    case 1:
        Console.WriteLine("Number is one.");
        break;
    case 2:
        Console.WriteLine("Number is two.");
        break;
    case 3:
        Console.WriteLine("Number is three.");
        break;
    default:
        Console.WriteLine("Number is not 1, 2, or 3.");
        break;
}
  1. 枚举(enum):可以对枚举值进行比较。
enum Color
{
    Red,
    Green,
    Blue
}

Color color = Color.Red;

switch (color)
{
    case Color.Red:
        Console.WriteLine("Color is red.");
        break;
    case Color.Green:
        Console.WriteLine("Color is green.");
        break;
    case Color.Blue:
        Console.WriteLine("Color is blue.");
        break;
    default:
        Console.WriteLine("Unknown color.");
        break;
}
  1. 布尔值(bool):可以对布尔值进行比较。
bool isRaining = true;

switch (isRaining)
{
    case true:
        Console.WriteLine("It's raining.");
        break;
    case false:
        Console.WriteLine("It's not raining.");
        break;
    default:
        Console.WriteLine("Unknown weather.");
        break;
}
  1. 字节(byte)、短整型(short)、长整型(long):这些数值类型也可以用于 switch 语句。
byte value = https://www.yisu.com/ask/1;"Value is one.");
        break;
    case 2:
        Console.WriteLine("Value is two.");
        break;
    default:
        Console.WriteLine("Value is not 1 or 2.");
        break;
}
  1. 自定义类型:通过实现 IEquatable 接口和重写 Equals() 方法,自定义类型也可以用于 switch 语句。
public class Person
{
    public string Name { get; set; }

    public override bool Equals(object obj)
    {
        if (obj == null || GetType() != obj.GetType())
            return false;

        Person person = (Person)obj;

        return string.Equals(Name, person.Name);
    }

    public override int GetHashCode()
    {
        return Name.GetHashCode();
    }
}

Person person = new Person { Name = "Alice" };

switch (person)
{
    case Person p when p.Name == "Alice":
        Console.WriteLine("It's Alice.");
        break;
    case Person p when p.Name == "Bob":
        Console.WriteLine("It's Bob.");
        break;
    default:
        Console.WriteLine("Unknown person.");
        break;
}

未经允许不得转载 » 本文链接:https://www.legongju.com/article/50228.html

相关推荐

  • C++ MySQL开发有哪些关键步骤

    C++ MySQL开发有哪些关键步骤

    C++ MySQL开发的关键步骤主要包括以下几个阶段: 环境配置:这是开发前的准备工作,需要安装和配置好C++编译器、MySQL数据库以及相关的驱动程序。例如,可以使用...

  • 如何在C++中使用MySQL进行查询

    如何在C++中使用MySQL进行查询

    在C++中使用MySQL进行查询,你需要使用一个MySQL连接器库,比如MySQL Connector/C++。以下是使用MySQL Connector/C++进行查询的基本步骤: 安装MySQL Connector/...

  • C++中如何连接MySQL数据库

    C++中如何连接MySQL数据库

    在C++中连接MySQL数据库,你可以使用第三方库,如MariaDB的mariadb-redux库或者libdrizzle-redux库。以下是使用mariadb-redux库连接MySQL数据库的基本步骤: 安装...

  • MySQL在C++中的未来发展趋势

    MySQL在C++中的未来发展趋势

    MySQL在C++中的未来发展趋势可能会体现在以下几个方面: 性能优化:MySQL将继续优化其C++ API,以提高性能和减少内存占用。这可能包括改进查询执行引擎、优化数据...

  • c# switch与if区别

    c# switch与if区别

    C# 中的 switch 语句和 if 语句都可以用于进行条件判断,但它们之间存在一些关键区别: 结构:switch 语句是一种多分支选择结构,而 if 语句是一种单分支选择结构...

  • c# switch怎样使用

    c# switch怎样使用

    在C#中,switch语句用于根据不同的条件执行不同的代码块。它的工作原理类似于一系列if-else语句,但更加简洁和易读。switch语句的基本语法如下:
    switch (e...

  • c# config更新方式有哪些

    c# config更新方式有哪些

    在C#中,有多种方法可以更新配置文件。以下是一些常见的方法: 使用ConfigurationManager类: ConfigurationManager类是.NET框架中用于读取和写入配置文件的类。...

  • c# config在项目中的作用

    c# config在项目中的作用

    C# 项目中的配置文件(通常命名为 app.config 或 web.config)起着至关重要的作用。它们主要用于存储应用程序的配置信息,这些信息可以在运行时动态更改,而无需...