言語はVB.NET、環境は.NET Framework 4.5です。
If文とIf演算子の挙動が違う理由、具体的には「下記コードのbとdが同じ結果にならない理由」を知りたいです。
参考になるサイト等があればご教授いただけますと幸いです。
(これで不具合を作ってしまい時間をロスしてしまったので、戒めとしてきちんと知識をつけておきたいのが質問した理由です。)
以下、テストコードです。
VB
1Sub Main() 2 Dim a As Date? 3 Dim b As Date? 4 Dim c As Date? 5 Dim d As Date? 6 7 a = If(True, Date.Now, Nothing) 8 9 b = If(False, Date.Now, Nothing) 10 11 If True Then 12 c = Date.Now 13 Else 14 c = Nothing 15 End If 16 17 If False Then 18 d = Date.Now 19 Else 20 d = Nothing 21 End If 22 23 Console.WriteLine(a) 24 Console.WriteLine(b) 25 Console.WriteLine(c) 26 Console.WriteLine(d) 27 Console.ReadKey() 28 29End Sub 30
Console
12019/10/15 16:19:42 20001/01/01 00:00:00 ←何故Nothingではなく既定値になっている? 32019/10/15 16:19:42 4(ここに1行空白がある)
以上、よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。