首页 新闻 会员 周边 捐助

c# 求这表达式含义与结果

0
悬赏园豆:5 [已解决问题] 解决于 2023-10-17 14:04

求int.TryParse 含义用法算法

int num=0;
bool cb;
string Value="true";
cb = int.TryParse(Value, out num);

为什么cb=false ?

if(int.TryParse(Value, out num))
{}
else
{}
看到别人有这段代码,不知啥意思

c#
tea2007的主页 tea2007 | 初学一级 | 园豆:3
提问于:2023-10-16 14:42
< >
分享
最佳答案
-1

在你提供的代码中,int.TryParse 是用来尝试将一个字符串转换成整数(int)的方法。它的作用是尝试解析给定的字符串,如果解析成功,将结果存储在 num 中,并返回 true;如果解析失败,它返回 false。

在你的例子中,Value 变量的值是 "true",但 "true" 不是一个有效的整数表示,所以 int.TryParse 无法将它解析成整数。因此,cb 被设置为 false,因为解析失败。

你的代码中的 if 语句是在检查解析的结果。如果 int.TryParse 返回 true,则表示解析成功,执行 if 块内的代码;如果返回 false,则执行 else 块内的代码。这段代码的目的可能是根据字符串是否可以解析为整数来采取不同的操作。

总结一下,cb 变量为 false 是因为 "true" 不能被解析为整数,所以解析失败。

收获园豆:3
Technologyforgood | 大侠五级 |园豆:7760 | 2023-10-16 19:44
其他回答(1)
1

int.TryParse
转换成功返true, 并且返回num, 转换失败返回false,num为0,不会产生异常。
value ="true"无法转为int,返回false, num此时是0。

这个代码就是给定一个字符串,判断是否可以转换成int类型,可以的话返回这个值。

收获园豆:2
肖恩部落 | 园豆:585 (小虾三级) | 2023-10-16 15:13

是不是无论 Value="true" 或 Value="false" 时 都无法转为int
即这if 判断永远是 false num永远是0 ?

支持(0) 反对(0) tea2007 | 园豆:3 (初学一级) | 2023-10-16 15:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册