在VB6和VB.net中是IsNull

nnn*_*nnn 7 vb.net migration vb6 isnull

我有一个代码 -

strTest="    "    
IsNull(Trim(strTest)) 
Run Code Online (Sandbox Code Playgroud)

它在VB6中返回False.

我把这段代码写到VB.net但是

ISNULL(TRIM(strTest))

返回True.
那么, VB6中的IsNull(Trim("")) = ?? 在VB.net中
谢谢.

Sid*_*out 9

IsNullVB.Net中没有任何功能.相反,它还有其他String.IsNullOrEmpty功能,例如函数和String.Empty属性等,用于查找字符串是否为空.

IsNull在VB6/VBA中表示表达式是否包含无效数据.你进入Falsevb6是因为你已经初始化了strTest.它包含一个空字符串.你可能也想看到这个

VB6

IsNull(Trim(strTest)) 
Run Code Online (Sandbox Code Playgroud)

在VB.Net中,IsNullOrEmpty指示指定的字符串是字符串Nothing还是Empty字符串.

VB.NET

If String.IsNullOrEmpty(strTest.Trim) Then DoWhatever
If strTest.Trim = String.Empty Then DoWhatever
If strTest.Trim = "" Then DoWhatever      '<~~ Same in VB6 as well
If String.IsNullOrWhiteSpace(strTest) Then DoWhatever  '<~~ VB2010 onwards only
Run Code Online (Sandbox Code Playgroud)

所有这些都将True在VB.Net中返回,因为字符串为ISEMPTY.你可能想看到这个

如果您的字符串值是所有空格,则在使用strTest.Trim()前3个选项之前使用,或者直接使用第4个选项来检查它是否为空,或仅为空字符串或所有空格.