在Vb.NET中,数据类型是什么意思

在Vb.NET中,数据类型是什么意思,vb.net,nullable,Vb.net,Nullable,我有以下代码行: CType(IIf(CBool(product.IsDiscontinued Is Nothing Or product.IsDiscontinued = True), False, True), Boolean?) 布尔值在结尾是什么意思。我也见过它在其他数据类型上使用。这是一个很好的例子 它允许值类型为Nothing,这是一个错误 它允许值类型为Nothing末尾的?是可空的快捷方式,在本例中为可空 使用Nullable可以将null存储在值类型中,否则将无法存储该值类型

我有以下代码行:

CType(IIf(CBool(product.IsDiscontinued Is Nothing Or product.IsDiscontinued = True), False, True), Boolean?)
布尔值在结尾是什么意思。我也见过它在其他数据类型上使用。

这是一个很好的例子

它允许值类型为
Nothing

,这是一个错误


它允许值类型为
Nothing

末尾的
可空
的快捷方式,在本例中为
可空


使用Nullable可以将null存储在值类型中,否则将无法存储该值类型。

末尾的
Nullable
的快捷方式,在本例中为
Nullable


使用Nullable允许您将null存储在一个值类型中,否则您将无法存储该值类型。

Nullable。。。这是一个可为空的布尔值

顺便说一句,在后端,如果你不小心的话,这些可以创造装箱/拆箱的乐趣

这里有一篇很好的文章解释它(尽管它是为c#写的)


可为空。。。这是一个可为空的布尔值

顺便说一句,在后端,如果你不小心的话,这些可以创造装箱/拆箱的乐趣

这里有一篇很好的文章解释它(尽管它是为c#写的)


+1,挑剔:值类型在VB.Net中已经可以是
Nothing
<代码>没有任何内容
被视为等同于默认值(T)。是;我真的知道。但是,
null
不是VB,所以没有什么好说的。+1,挑剔:值类型在VB.Net中已经可以是
Nothing
<代码>没有任何内容被视为等同于默认值(T)。是;我真的知道。然而,
null
不是VB,所以没有什么好说的。是的,你是对的。。。我抓住了自己,纠正了。。。对不起,印刷错误<代码>如果你不小心的话,这些可以创建装箱/取消装箱乐趣它们应该如何比它们的基类型更容易地创建装箱/取消装箱?我指的是clr有专门为装箱/取消装箱空值设计的代码这一事实。。。并不是说它们一定更容易装箱。。。这是来自里希特的:“具体地说,当CLR装箱一个可为null的实例时,它会检查它是否为null,如果为null,CLR实际上不会装箱任何内容,如果可为null的实例不为null,则返回null,CLR会从可为null的实例中取出值并装箱,换句话说,一个值为5的Nullable被装箱到一个值为5的boxed-Int32中“…我只是想说装箱是不同的Tah ok:-)现在更清楚了!:-):-)但是为什么“如果你不小心的话"? 这似乎更像是一个警告:如果你做错了什么,你会导致拳击。是的,你是对的。。。我抓住了自己,纠正了。。。对不起,印刷错误<代码>如果你不小心的话,这些可以创建装箱/取消装箱乐趣它们应该如何比它们的基类型更容易地创建装箱/取消装箱?我指的是clr有专门为装箱/取消装箱空值设计的代码这一事实。。。并不是说它们一定更容易装箱。。。这是来自里希特的:“具体地说,当CLR装箱一个可为null的实例时,它会检查它是否为null,如果为null,CLR实际上不会装箱任何内容,如果可为null的实例不为null,则返回null,CLR会从可为null的实例中取出值并装箱,换句话说,一个值为5的Nullable被装箱到一个值为5的boxed-Int32中“…我只是想说装箱是不同的Tah ok:-)现在更清楚了!:-):-)但是为什么“如果你不小心”?这似乎更像是一个警告:如果你做错了什么,你会导致装箱。(请注意,是我添加的。它已经被400多个问题使用。OP显然不知道它可以为null。我删除了标记,因为代码显然是vb.net)@xanatos你应该在编辑摘要字段中添加这样的注释。这就是它的用途!@dlev但我忘记了这样做:-(,在有人指出“嘿,但他确实知道可以为Null”之前,我不得不进行修复@xanatos公平。我不确定您是否知道该字段。:)(作为说明,该字段是由我添加的。它已经被400多个问题使用。OP显然不知道它可以为Null。我删除了该标记,因为代码显然是vb.net)@xanatos你应该在编辑摘要字段中添加这样的注释。这就是它的用途!@dlev但我忘了这么做:-(,在有人指出“嘿,但他确实知道nullable”之前,我不得不进行修复@xanatos很公平。我不确定你是否知道该字段。:)