【发布时间】:2010-12-15 00:27:52
【问题描述】:
例如 Dim aInt as Integer 的值应为空,而不是 0。
【问题讨论】:
-
在 C# 中,至少你可以将
int value声明为int? nullableValue,这允许你将 null 分配给它(默认为 null)。
例如 Dim aInt as Integer 的值应为空,而不是 0。
【问题讨论】:
int value 声明为 int? nullableValue,这允许你将 null 分配给它(默认为 null)。
在 C# 中你需要使用 int 吗?而不是int。整数是值类型,它们不能有空值。
用 int?您可以检查 HasValue 属性以告诉您它不是空值。
int? i = null;
i.HasValue // false;
获取价值使用:
i.Value;
【讨论】:
这样做的唯一方法是使用Nullable<T> - 即(在 C# 中):
int? aInt; // defaults to null
正则整数没有null/Nothing的概念。
【讨论】:
If Not aInt Is Nothing;你必须改用If aInt.HasValue。
if(aInt!=null) {...}
您必须使用可为空的类型。在 vb.net - Nullable(Of Integer)(或短字节)
【讨论】:
整数不能是“无”。您需要将其声明为:
dim aInt as Nullable(of Integer)
【讨论】:
如前所述,使用int? / Nullable(of Integer)。但请注意不要过度使用。我正在开发一个项目,其中几乎所有值类型都被声明为可为空/?,这绝对是一团糟。
【讨论】:
.HasValue 和所需的类型转换都是一团糟。
其他答案是正确的,您需要使用 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;
【讨论】: