一、 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 取值范圍的字符串。如若轉換成功,會返回在這個范圍內去的值。
