程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了是否可以在 C# 中的 switch case 语句中检查空值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决是否可以在 C# 中的 switch case 语句中检查空值?

开发过程中遇到是否可以在 C# 中的 switch case 语句中检查空值的问题如何解决?下面主要结合日常开发的经验,给出你关于是否可以在 C# 中的 switch case 语句中检查空值的解决方法建议,希望对你解决是否可以在 C# 中的 switch case 语句中检查空值有所启发或帮助;

我有一个属性为 Value 的对象。 Value 是一个可以为空的数字。对于价值的价值,我有一些场景。通常,对于空情况,我使用默认情况,但这一次,它在逻辑上是不正确的。 100的情况我想做“X”,没有值的情况下做“Y”(值为空),否则我想做“Z”。

switch (p.value)
{
    case 100:
        // DO X
        break;
    default:
        // Do Z
        break;
}

我试着写 case is null 但它不编译:{{1​​}}。是否可以或者@R_64_10675@用 if 语句来代替?

解决方法

是的,有可能,您已经接近了,只需从机箱中取出 is即可。

switch (p.value)
{
    case 100:
        // DO X
        break;
    case null:
        // DO Y
        break;
    default:
        // Do Z
        break;
}
,

刚试过

void Main()
{
    int? p=null;
    
    switch (p)
    {
        case   null:
        
        break;
        
        case 100:
            // DO X
            break;
        default:
            // Do Z
            break;
    }
}

一切正常

,

您可以在 switch case 中检查 null,就像任何其他值一样,但不能使用 isis 用于转换

switch (p.value)
      {
        case 100:
            // DO X
        case null:
            // DO Y
            break;
        default:
            // Do Z
            break;
  }

无论如何,项目为空的情况只有 1 种情况,因此您可以使用在 switch 周围扭曲的 if 语句进行检查

就你而言

if (p.Value == null){
  //DO Y;
}else{
  switch (p.value)
  {
    case 100:
        // DO X
        break;
    default:
        // Do Z
        break;
  }
}

第一个选项更干净,你应该选择它

大佬总结

以上是大佬教程为你收集整理的是否可以在 C# 中的 switch case 语句中检查空值全部内容,希望文章能够帮你解决是否可以在 C# 中的 switch case 语句中检查空值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。