bool.Parse 和 bool.TryParse 的基本用法

一、 Parse 

1.定义  :public static Boolean Parse(string value);  

2.摘要:

 将逻辑值的指定字符串表示形式转换为其等效的 System.Boolean 值;如果该字符串不等于 System.Boolean.TrueString 或
System.Boolean.FalseString 的值,则会引发异常。

我的理解是这个value 的值是False 和 True 的字符串(这个字符串只要组成这两个单词即可,都会转换成功),其他包括数字或者是其它的字符串会产生异常 --“该字符串未被识别为有效的布尔值。

二、TryParse

1.定义 :public static Boolean TryParse(string value, out Boolean result);

2.摘要:

尝试将逻辑值的指定字符串表示形式转换为其等效的 System.Boolean 值。一个指示转换是否成功的返回值。

 如果转换成功,当 value 等于 System.Boolean.TrueString 时,此方法返回时将包含 true;当 value 等于 System.Boolean.FalseString
 时,将包含 false。如果转换失败,则包含 false。如果 value 为 null 或者不等于 System.Boolean.TrueString
 或 System.Boolean.FalseString 字段的值,该转换将失败。

我的理解是这个value 的值是False 和 True 的字符串(这个字符串只要组成这两个单词即可,都会转换成功),其他包括数字或者是其它的字符串会返回false。

三、区别

很明显就是两个转换方法Parse 需要处理异常,TryParse 不需要。具体细节还没有研究。

四、测试代码

public bool Readdata(int deviceID)
        {
            bool result_readdata = false;

            try
            {
                string value = Common_Class.GetValue(deviceID).ToString();
                if (value != null && value != "return_error" && value != "")
                {
                    value = "TRue";
                    bool.TryParse(value, out result_readdata);
                    result_readdata = bool.Parse(value);
                    if (result_readdata)
                    {
                       
                    }
                    else
                    {
                      
                    }
                }
                else
                {

} } catch (Exception ex) { Common_Class.WriteLog(ex); } return result_readdata; }

 五、同理可证 Int 和Double 的转换的value的取值范围就是Int 和Double 取值范围的字符串。如若转换成功,会返回在这个范围内去的值。

原文地址:https://www.cnblogs.com/kacy/p/10218952.html