欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » C# » 正文

热门阅读

一个对bool.TryParse用法的误会

创建时间:2013年01月11日 15:24  阅读次数:(13908)
分享到:
首先我们先猜测以下面代码执行完毕后isbool的值。
bool isbool = true;
bool.TryParse("ddd", out isbool);

呵呵,如果你猜的是true,那么就错了,一直以为bool.TryParse如果转换失败将返回false,但不会对原参数的值进行更改,也就是说原参数还保持原来的值。今天在调试一个程序的时候才发现这么长时间一直以为的结果是错误的,正确的应该时:
如果bool.TryParse转换失败,总是会将原参数的值置为false。

做了一些测试,结果如下:
bool isbool = true;
bool.TryParse("ddd", out isbool); --false
bool.TryParse("1", out isbool); --false
bool.TryParse("false", out isbool); --false
bool.TryParse("true", out isbool); --true
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论2条
  • #1楼  评论人:小侠  评论时间:2013-1-12 8:54:48
  • 晕,还真是这样,谢谢lz了。
  • #2楼  评论人:米  评论时间:2018-8-13 9:08:05
  • 瞎扯淡,TryParse这个方法有个返回值,代表此次转换成功还是失败,如果转换失败会对原参数的值进行修改,原参数为默认值,int.TryParse转换失败原始数据被改为0,bool.TryParse转换失败原始数据被改为false。楼主说原始数据不修改纯属扯淡!


    int i = 100;
    bool tryParseIntIsok = int.TryParse("abc", out i);
    Console.WriteLine(tryParseIntIsok);
    Console.WriteLine(i);
    bool bol = true;
    bool tryParseBoolIsok = bool.TryParse("abc", out bol);
    Console.WriteLine(tryParseBoolIsok);
    Console.WriteLine(bol);
发表评论:
留言人:
内  容:
请输入问题 65+4=? 的结果(结果是:69)
结  果: