SQL データベースからデータを読み取るために、VB.Net から C# に変換しようとしています。次のコードでエラーが発生します。「タイプ 'string' を 'bool' に暗黙的に変換することはできません」 . VB では問題なく動作します。このステートメントを C# に変換するにはどうすればよいですか?
chkNewEmployee.Checked = dr["chkNewEmployee"].ToString();
chkNewEmployee.Checked = Convert.ToBoolean(dr["chkNewEmployee"]);
trueまたはfalse。基になる型の値に対して IConvertible.ToBoolean メソッドを呼び出すことによって返される値を反映します。値が null の場合、メソッドは false を返します。
必要に応じて、試してみるbool.Parse
か、bool.TryParse
アップデート
bool.Parse
、bool.TryParse
およびConvert.ToBoolean
:
true
またはfalse
FormatException
変換に失敗した場合にスローしますtrue
またはfalse
true
変換が成功した場合は戻り、そうでない場合はfalse
out bool result
変換結果は第 2 パラメーター ( )を介して保存されますtrue
、false
または(の場合にnull
返されます)false
null
FormatException
変換に失敗した場合にスローします以下のコードの一部を試してみます。それが機能するかどうかを確認してください。そうでない場合は、例外を返す必要があります。
try {
chkNewEmployee.Checked = Convert.ToBoolean(dr["chkNewEmployee"]);
}
catch (FormatException) {
Console.WriteLine("Bad Format");
}
catch (InvalidCastException) {
Console.WriteLine("No Conversion");
}