一、 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 取值范围的字符串。如若转换成功,会返回在这个范围内去的值。