質問

さて、C#のプログラマーとして、私は、ジェネリック医薬品は素晴らしいであることを知っています。 いくつかのVB.NETに手を染めたときしかし、私は次のようにコンパイルエラーが発生しないことを発見します:

Dim instance As List(Of Integer)
instance.Add(True)

これはなぜでしょうか?私はあなたがVB.NETでキャストする必要がないことを知っているが、私は、これはジェネリックを使用する主な理由殺すことを考えているだろう - 。型の安全性を

編集:これはちょうど私が理論的にはVB.NETを見た、実際のプログラミング演習ではなかったとしての私は、上のオプションは、厳密な必要はありません。私はそれだけでジェネリック型の特徴として、でもオプション厳しいオフでコンパイルエラーを引き起こすことが期待していたように、それは、理論的な質問です。

役に立ちましたか?

解決

Option Strict Onがなければ、VB.NETは、暗黙的にBooleanIntegerを変換して幸せです。私は強くあなたがVB.NETの仕事のためOption Strict Onデフォルトにすること(特にC#の背景から来る)をお勧めします。

あなたはToolsでのVisual Studioでこれを行うことができます| Options | Projects and Solutions | VB Defaultsます。

の編集のVB(クラシック)「リラックスした態度の詳細については、変換、Googleの '悪の型変換' と入力します。 VB(クラシック)で良い仕事をしようと私たちの人は、しばらくの間、この悪魔を格闘しなければならなかった...

他のヒント

あなたはオプション厳格にはなって持っています上の?

VB.NET関数呼び出しサイトに変換します。 (整数)のリストは、依然として(真の整数値である-1、整数)を記憶している

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top