c# - 带整数表达式的 switch case

标签 c# .net

我正在尝试使用 switch case而不是 If Else语句,在其中我必须首先检查字符串的长度,并且根据它我必须对它进行区分。

switch (mystring.length)
{
    case <=25:
    {
        //do this
        break;
    }
    case <50:
    {
        //do this
        break;
    }
    default:
        break;
}

这是我想做的事情,但不知道如何放置 <25在 case 前面,因为根据 switch case 规则,这是不合适的。

最佳答案

在你的特定情况下使用 if/else 总是更好,使用 switch 语句你不能在情况下放置条件。看起来您正在检查范围,如果范围不变,那么您可以尝试以下(如果您想使用 switch 语句)

int Length = mystring.Length;
int range = (Length - 1) / 25;
switch (range)
{
    case 0:
        Console.WriteLine("Range between 0 to 25");
        break;
    case 1:
        Console.WriteLine("Range between 26 to 50");
        break;
    case 2:
        Console.WriteLine("Range between 51 to 75");
        break;

}

关于c# - 带整数表达式的 switch case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13927815/

相关文章:

c# - 带参数的 void 方法和不带参数的返回值方法?

c# - 代码分析提示对象可以被处置不止一次。为什么?

.net - 使用 kSoap 将 ArrayList 从 .net web 服务返回到 android 应用程序

c# - Xamarin Forms 和 Prism Navigation 历史记录

c# - MVC 5 - DataAnnotations 的默认消息和本地化(电子邮件、Url 等)

c# - Task.Run 或 TaskFactory.StartNew 是否始终不适合在异步方法中使用?

c# - 删除目录中文件的最快方法是什么? (特定文件扩展名除外)

c# - 部署 .NET C# 控制台应用程序

.net - NuGet 锁定文件无法使用 --locked-mode 还原

c# - RowDataBound Gridview 中的错误 : Specified argument was out of the range of valid values.