首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#Switch语句重构

在C#中,switch语句是一种用于基于不同条件执行不同代码块的控制结构。它通常用于替换多个if-else语句,以提高代码的可读性和可维护性。

以下是一个使用switch语句的示例:

代码语言:csharp
复制
int dayOfWeek = 3;

switch (dayOfWeek)
{
    case 0:
        Console.WriteLine("Sunday");
        break;
    case 1:
        Console.WriteLine("Monday");
        break;
    case 2:
        Console.WriteLine("Tuesday");
        break;
    case 3:
        Console.WriteLine("Wednesday");
        break;
    case 4:
        Console.WriteLine("Thursday");
        break;
    case 5:
        Console.WriteLine("Friday");
        break;
    case 6:
        Console.WriteLine("Saturday");
        break;
    default:
        Console.WriteLine("Invalid day");
        break;
}

在这个示例中,switch语句检查dayOfWeek变量的值,并根据其值执行相应的代码块。如果dayOfWeek的值不匹配任何case语句,则执行default代码块。

要重构上述代码,可以使用Dictionary<int, string>来存储日期和对应的字符串表示。这样可以避免使用switch语句,并提高代码的可读性和可维护性。

代码语言:csharp
复制
int dayOfWeek = 3;

Dictionary<int, string> dayOfWeekDict = new Dictionary<int, string>
{
    { 0, "Sunday" },
    { 1, "Monday" },
    { 2, "Tuesday" },
    { 3, "Wednesday" },
    { 4, "Thursday" },
    { 5, "Friday" },
    { 6, "Saturday" }
};

if (dayOfWeekDict.TryGetValue(dayOfWeek, out string day))
{
    Console.WriteLine(day);
}
else
{
    Console.WriteLine("Invalid day");
}

在这个重构后的代码中,我们使用Dictionary<int, string>来存储日期和对应的字符串表示。然后,我们使用TryGetValue方法来尝试获取与dayOfWeek对应的字符串表示。如果找到了对应的字符串,则输出该字符串;否则,输出"Invalid day"。

总之,重构switch语句的目的是提高代码的可读性和可维护性。在某些情况下,使用Dictionary可以避免使用switch语句,并提高代码的可读性和可维护性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券