我想确认数组已创建,怎么做?没有nul关键字?
Dim items As Array = str.Split("|")
if (items=null) then ???
答案 0 :(得分:24)
要检查VB.Net中的对象是否为null,您需要使用Nothing关键字。 e.g。
If (items is Nothing) Then
'do stuff
End If
但是string.Split()永远不会返回null,因此您应该检查输入字符串是否为null而不是items数组。您的代码可以更改为:
If Not String.IsNullOrEmpty(str) Then
Dim items As Array = str.Split("|")
'do stuff
End If
答案 1 :(得分:7)
在分割之前尝试在字符串变量上使用String.IsNullOrEmpty
。如果您尝试在字符串中没有任何内容的情况下拆分变量,则数组中仍会有一个项目(空字符串),因此对数组的IsNothing
检查将返回false。
答案 2 :(得分:3)
String.Split永远不会返回null。在最坏的情况下,它可以返回一个没有元素的数组。
答案 3 :(得分:2)
在VB.NET中使用“Is Nothing”来测试Null。
If items Is Nothing Then
End If
答案 4 :(得分:1)
VB中null的关键字是Nothing
。
但是,这不是您想要在这种情况下使用的内容。 Split
方法永远不会返回空引用。它总是返回一个至少包含一个项目的字符串数组。如果您拆分的字符串为空,则会得到一个包含一个长度为零的字符串的数组。
所以,要检查你是否得到了结果:
Dim items As String() = str.Split("|")
If items.Length = 1 and items(0).Length = 0 Then ...
首先检查输入当然更容易:
If str.Length = 0 Then ...
答案 5 :(得分:0)
对于一个班轮,请执行以下操作:
destinationVariable = if(myvar is nothing, "", myvar)