我試圖從VB.Net轉換爲C#從sql數據庫讀取數據。以下代碼給我一個錯誤。 「不能將類型'字符串'隱式轉換爲'bool'」。它在VB中工作得很好。我如何將此語句轉換爲C#?
不能隱式地將類型'字符串'轉換爲'bool'CheckBox
chkNewEmployee.Checked = dr["chkNewEmployee"].ToString();
我試圖從VB.Net轉換爲C#從sql數據庫讀取數據。以下代碼給我一個錯誤。 「不能將類型'字符串'隱式轉換爲'bool'」。它在VB中工作得很好。我如何將此語句轉換爲C#?
不能隱式地將類型'字符串'轉換爲'bool'CheckBox
chkNewEmployee.Checked = dr["chkNewEmployee"].ToString();
chkNewEmployee.Checked = Convert.ToBoolean(dr["chkNewEmployee"]);
真或假,這反映了通過調用爲基礎類型的值的 IConvertible.ToBoolean方法返回的值。 如果 值爲null,則該方法返回false。
根據您的需求,你可能想嘗試bool.Parse
或bool.TryParse
UPDATE
bool.Parse
,bool.TryParse
和Convert.ToBoolean
:
true
或false
bool.TryParse
的情況下拋出FormatException
:
true
或false
true
如果轉換成功,否則false
out bool result
)true
,false
或null
(在null
情況下返回false
)FormatException
我想嘗試的下面的代碼段。看看它是否有效。如果不是,它應該返回一個異常。
try {
chkNewEmployee.Checked = Convert.ToBoolean(dr["chkNewEmployee"]);
}
catch (FormatException) {
Console.WriteLine("Bad Format");
}
catch (InvalidCastException) {
Console.WriteLine("No Conversion");
}
只是做到這一點:
chkNewEmployee.Checked = Convert.ToBoolean(dr["chkNewEmployee"]);
它完成。
什麼是底層數據庫類型?位?字符? – Curt
其直接轉換conversion.ToBoolean(dr [「chkNewEmployee」]) – Jack