-5
Dim s as string = "0"
Dim valid as boolean = false
Byte.TryParse(s, valid)
値がゼロの場合、TryParse
はなぜ失敗しますか? Int32.TryParse
などでも発生します。TryParse値がゼロの場合、なぜ失敗しますか?
Dim s as string = "0"
Dim valid as boolean = false
Byte.TryParse(s, valid)
値がゼロの場合、TryParse
はなぜ失敗しますか? Int32.TryParse
などでも発生します。TryParse値がゼロの場合、なぜ失敗しますか?
変数Boolean
に値Byte
を解析しています。 VB.NETはそれを(私は残念なことに)と言うでしょうし、自動的にByte
をBoolean
に変換します。問題はByte
の値が0
であると考えられ、Boolean
(0以外の値はtrue
と見なされます)に変換された場合、false
とみなされます。そして、それはあなたが見ているものです。あなたが本当にそれを望んで何
:
Dim s as String = "0"
Dim value as Byte
Dim valid as Boolean = Byte.TryParse(s, value)
これもオプションStrict' – derloopkat
これはコンパイルすらないと失敗しませんか?しばらくVB.NETから離れていますが、これはC#でコンパイルされません! 'valid'は、これをc#でコンパイルするには' byte'型でなければなりません。 – Plutonix
'の下でコンパイル習慣 – user3185569