如何使类型的默认值为Nothing?

时间:2009-11-10 12:18:48

标签: c# .net vb.net clr types

例如,Dim aInt as Integer应该将值设置为空而不是0。

6 个答案:

答案 0 :(得分:10)

唯一的方法是使用Nullable<T> - 即(在C#中):

int? aInt; // defaults to null

常规整数没有null / Nothing的概念。

答案 1 :(得分:4)

你必须使用可以为空的类型。在vb.net中 - Nullable(Of Integer)(或短,字节)

答案 2 :(得分:4)

如上所述,使用int? / Nullable(of Integer)。但要注意不要过度使用。我正在开发一个几乎所有的valuetype都被声明为nullable /?的项目,这是一个绝对的混乱。

答案 3 :(得分:1)

在C#中你需要使用int吗?而不是int。整数是值类型,它们不能具有空值。

用int?你可以检查HasValue属性,告诉你它不是null。

int? i = null;

i.HasValue // false;

获取使用价值:

i.Value;

答案 4 :(得分:1)

整数不能“没有”。您需要将其声明为:

dim aInt as Nullable(of Integer)

答案 5 :(得分:0)

其他答案是对的,你会想要使用Nullable类型。我想精确地修改VB / C#的语法,以及哪个版本支持它:

VB9 +(Visual Studio 2008):

Dim aNullableInt As Integer?

VB8 +(Visual Studio 2005):

Dim aNullableInt As Nullable(Of Integer)

在C#2.0(Visual Studio 2005)中,您已经可以用两种方式编写它:

int? aNullableInt;
Nullable<int> aNullableInt;