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); } } 这解决了价值等于“四十二”的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |