2013-10-10 105 views
7

我有一個代碼 -
ISNULL在VB6和VB.net

strTest=" "  
IsNull(Trim(strTest)) 

它返回VB6

我寫這篇文章的代碼VB.net 但

ISNULL(TRIM(strTest))

回報
因此, IsNull(修剪(「」))在VB6 = ?? in VB.net
謝謝。

回答

9

VB.Net中沒有IsNull函數。相反,它有其他的東西,如String.IsNullOrEmpty函數和String.Empty屬性等,用於查明字符串是否爲空。

IsNull in VB6/VBA表示表達式是否包含無效數據。因爲您初始化了strTest,所以您在vb6中獲得False。它包含一個空字符串。你可能也想看看THIS

VB6

IsNull(Trim(strTest)) 

在VB.Net,IsNullOrEmpty指示指定的字符串是否是NothingEmpty字符串。

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 

這些都將在VB.Net返回True因爲字符串IS空。你可能想看看THIS

如果字符串值是所有空格,則或者使用第3個選項之前使用strTest.Trim(),或直接使用第四選項,檢查它是否是什麼,或者爲空,或者只有所有空格。

+0

'如果VB6中IsNull(strTest)'='如果VB.net中strTest是Nothing'?這是對的嗎? – nnnn

+1

+1 Sid。恰好解釋道。 @nnnn:是的,沒錯。在VB.NET中'IsNull'檢查可以與'Nothing'比較。但請注意,VB6和VB.NET中的字符串行爲有點不同。我總是使用IsNullOrEmpty檢查或IsNullOrWhiteSpace檢查(視情況而定),而不是直接的字符串比較或Nothing或String.Empty。 VB.NET內部做了很多事情來使這三件事看起來很相似。我從來沒有覺得比較任何字符串到現在在vb.net還沒有使用。 –

+0

@PradeepKumar'我從來沒有覺得使用比較任何字符串到現在在vb.net還沒有。「我也是:)和BTW ...謝謝:) –