2011-10-20 10 views
1

これは、何かを値に変換する必要があるときはいつでも、私を終わらせないようにするものです(例えば、何かをブール値に変換しなければならないと言うことができます)あなたにはCBool​​のアドバイスがありますが、これは動作しますが、それはVB6であり、私はそれを望んでいません。VB - VB6コードを推奨しないようにVisual Studio 2010を取得する

VB 6ソリューションの提案をやめて代わりに.NETソリューション(たとえばconvert.ToBooleanの使用)を提案するために、どのようにVisual Studioを入手できるか知っていますか?

プラグインを使用していることが分かっている場合は、そのプラグインも公開しています。

ありがとうございます。

+2

CBool​​はVB6の一部ですが、VB.NETにも含まれています。 http://msdn.microsoft.com/en-us/library/s2dy91zy(v=vs.80).aspx –

答えて

2

CBool()オペレータとそのコンパニオン(CTypeも)はではなく、 VB6です。彼らは機能ではなくオペレータであり、現代のVB.Netの非常に重要な部分です。残念なことに古いvb6スタイルのコードに似ていますが、それ以外に何も間違っているわけではありません。

他方、Convert.ToBoolean()の代替は機能です。違いはConvert.ToBoolean()の値をはるかに大きい値の範囲に変換することです(パフォーマンスは大幅に低下します)。CBool唯一キャストブール値であるかどうかは分かりません。あなたが必要とする正確なタイプの一致があります。

ここでのトリックは、CBool​​()のようなキャスト演算子とLen()、Trim()、DateAdd()、Ubound()などのVB6時代の関数を対照しています。よりモダンなスタイル。

+0

それに感謝します:) – Eman

+0

ctype(YourVariable、boolean)、またはdirectCastもしあなたがそれから何かのパフォーマンスを絞っていたいなら。 –

+0

CBool​​の+1 VB.Netドキュメント[言う](http://msdn.microsoft.com/en-us/library/s2dy91zy.aspx) "として、Visual Basicの型変換関数を使用することをお勧めします。 .NET Frameworkのメソッド "を参照してください。しかし、1つの質問は、 'CBool​​は本当にキャストですか? 'CBool​​(" true ")'は 'True'を返します - それはキャストではなく変換ですか? – MarkJ

関連する問題