c#中,int.parse(string s),如果s的值从数据库中读出为null,是不是不能这样用?会报错,

不能转换值为null的... 不能转换值为null的 展开
 我来答
匿名用户
2013-03-06
展开全部
肯定不能的,即使参数是空字符串,也是不可以这样用的,必须要有值的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Octavianus_PL
2013-03-06 · TA获得超过388个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:174万
展开全部
看你的需求了,如果你的这个数据允许为空的话,可以使用 int? 类型来代替 int 类型;如若不允许为空,可以使用如下形式转换:
int result = 0;
bool b = int.TryParse(s, out result);
返回值b是一个布尔类型,表示转换是否成功,若转换不成功,则result为默认值0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Marsfxd
2013-03-06
知道答主
回答量:28
采纳率:0%
帮助的人:7万
展开全部
这个可以用另外一个方法,int.tryparse(string s),这样呢,就算是null也可以保证不出错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mi_new
2013-03-06 · TA获得超过6328个赞
知道小有建树答主
回答量:547
采纳率:0%
帮助的人:294万
展开全部
你可以这样写,提高效率:
int temp =0;
if(int.TryParse(s,out temp))
{
//你可以使用temp了
}
else
{
//转换失败,说明不能s不是int类型
}
更多追问追答
追问
我不拔temp的值主动设定为0,可以直接使用么?
追答
可以 你可以不设置值,直接用int temp; 但是为了遵守代码规范才设置初始值的.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式