質問:
なぜ私は書かれていない以下のコードもコンパイルできますか?
私は厳格なオプションをオフにすると、オプションの推論がオンになっているという事実から離れて意味...なぜこのコードはコンパイルされますか?
If Not actdate.DayOfWeek = DayOfWeek.Saturday And Not actdate.DayOfWeek.Sunday Then
...
End If
が、それはoviouslyと同じです:覚えておくべき事はVB-`AND`が実際にビット単位とであるということですので、基本的には、すでに質問に答える
if (!(actdate.DayOfWeek == DayOfWeek.Saturday) & !actdate.DayOfWeek.Sunday) {
...
}
これは論理演算とビット演算の違いです。 http://msdn.microsoft.com/en-us/library/wz3k228a.aspx –
なぜ、もし1 = 1そして "hi" Then ... 'もコンパイルされますか?それはあなたにランタイム例外を与えますが、それでもコンパイルします。 – Khan
@ JefferyKhan:おそらく 'Option Strict'がオフであるためです。 – SLaks