加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在您看来更具可读性:?? (操作符)或使用if

发布时间:2020-12-15 20:52:18 所属栏目:百科 来源:网络整理
导读:我有一个接收字符串的方法,但在我使用它之前,我必须将它转换为int.有时它可以为null,我必须将其值更改为“0”.今天我有: public void doSomeWork(string value){ int SomeValue = int.Parse(value ?? "0"); //it can throw an exception(i know)} 我做到了,
我有一个接收字符串的方法,但在我使用它之前,我必须将它转换为int.有时它可以为null,我必须将其值更改为“0”.今天我有:

public void doSomeWork(string value)
{
   int SomeValue = int.Parse(value ?? "0"); //it can throw an exception(i know)
}

我做到了,但我的老板让我重构它:

public void doSomeWork(string value)
{
    if(string.IsNullOrEmpty(value))
        value = "0";
    int SomeValue = int.Parse(value);
}

在您看来,什么是最好的选择?

解决方法

就个人而言,我会选择更正版本的老板 – 可能还有更多的支票 – 如果字符串是空的,你的意思是,如你所说抛出一个异常,因为“”不是一个格式正确的数字和??只检查null.

就像是:

public int doSomeWork(string value) {
  int someValue = 0;

  if (!string.IsNullOrEmpty(value)) {
    Int.TryParse(value,out someValue);
  }
}

这解决了价值等于“四十二”的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读