在VB中,字串為零長度和字串為Null有什麼區別

時間 2021-08-30 10:34:36

1樓:

這兩個是完全不同的,實際使用也完全不同。

字串為"",它還是字串,只不過是一種特殊狀態——零長度,類似於c中的'\0';

字串為null,其實這個字串已經不是字串了,更加確切的說,這個字串的變數的值已經無效了。

對三樓 murderor無語,不懂可以,但不要誤導人。null的實際使用與零字串差別太大了:

任何與null值的運算結果全是null。

1+null=null

"abc" & null=null

(null=null)=null (注意,不是true也不是false)

null這個值最初是由資料庫提出來的,意思就是該值代表無效資料,任何與該值進行運算的結果也是無效。

在vb中除非是和資料庫打交道,否則很少用到null。

2樓:老人與孩v動手洞腦

1、零長度字串是指空串,其值的表達就是將左右引號緊連在一起,中間沒有空格,但它是一個實實在在存在的變數,就像一個存在的房間還沒有住人;

2、一個變數的值如果等於null是說該變數有名無實,變數的值不存在,必須現行賦值之後才能使用,就像一個準備建造的房間,只有名字,但還沒有影子。

3樓:匿名使用者

語法上有區別,實質沒有區別

定義一個變數v,

判斷它長度為零 if v="" then print "長度為0"

判斷它是否為null if isnull(v) then print "字元為空值"

4樓:

一個是長度為0,null是無效的意思

字元長度為0和字元為null有區別嗎

5樓:匿名使用者

你的表述存在一定問題

請確定一下到底是字元還是字串

比如'a'是一個字元,而"abcd"是一個字串長度一般只針對字串來說

比如在c++裡 你可以到define null的地方看 它其實就是一個0

6樓:憂鬱的趙子龍

我來總結一下: null :表示在空間記憶體中沒有分配地址 零(數值或二進位制值):

分配了記憶體空間,只是值為零而已 零長度的字串或空白字元值):同樣分配記憶體空間,只是為空的。

vb 中得為空判斷 30

7樓:悠悠周郎

isnothing 用於判斷某個物件是否尚未賦值。例如 dim 物件 as object,此時 isnothing(物件) = true。dbnull 指示 object 缺少的或不存在的資料。

dbnull 與 nothing 不同,後者指示變數尚未初始化。dbnull 也與零長度字串不同 (""),零長度字串有時也稱為 null 字串。string.

isnullorempty 表示這個字串是否為空(「」)或者乾脆沒賦值。empty 是空字串。isnullorwhitespace 表示字串是否未被賦值或者只有空格組成。

8樓:

isarray 函式

返回 boolean 值,指出變數是否為一個陣列。 語法

isarray(varname)

必要的 varname 引數是一個指定變數的識別符號。 說明

如果變數是陣列,則 isarray 返回 true;否則返回 false。對於包含陣列的 variant 表示式來說,isarray 尤為有用。

isdate 函式

返回 boolean 值,指出一個表示式是否可以轉換成日期。 語法

isdate(expression)

必要的 expression 引數是一個 variant,包含日期表示式或字串表示式,這裡的字串表示式是可以作為日期或時間來認定的。 說明

如果表示式是一個日期,或可以作為有效日期識別,則 isdate 返回 true;否則返回 false。在 microsoft windows 中,有效日期的範圍介於公元 100 年 1 月 1 日與公元 9999 年 12 月 31 日之間;其有效範圍隨作業系統不同而不同。

isempty 函式

返回 boolean 值,指出變數是否已經初始化。 語法

isempty(expression)

必要的 expression 引數是一個 variant,包含一個數值或字串表示式。但是,因為 isempty 被用來確定個別變數是否已初始化,所以 expression 引數通常是單一變數名。

說明 如果變數未初始化或已明確設定為 empty,則 isempty 返回 true;否則返回 false。如果 expression 含有多個變數,則 isempty 總是返回 false。isempty 只返回對 variant 表示式有意義的資訊。

isnull 函式

返回 boolean 值,指出表示式是否不包含任何有效資料 (null)。 語法

isnull(expression)

必要的 expression 引數是一個 variant,其中包含數值表示式或字串表示式。 說明

如果 expression 為 null,則 isnull 返回 true;否則 isnull 返回 false。如果 expression 由多個變數組成,則表示式的任何作為變數組成成分的 null 都會使整個表示式返回 true。

null 值指出 variant 不包含有效資料。null 與 empty 不同,後者指出變數尚未初始化。null 與長度為零的字串 (「「) 也不同,長度為零的字串指的是空串。

重要 使用 isnull 函式是為了確定表示式是否包含 null 值的。在某些情況下,希望表示式取值為 true,比如希望 if var = null 和 if var <> null 取值為 true,而它們總取值為 false。這是因為任何包含 null 的表示式本身就是 null,所以為 false。

isnumeric 函式

返回 boolean 值,指出表示式的運算結果是否為數。 語法

isnumeric(expression)

必要的 expression 引數是一個 variant,包含數值表示式或字串表示式。 說明

如果整個 expression 的運算結果為數字,則 isnumeric 返回 true;否則返回 false。

如果 expression 是日期表示式,則 isnumeric 返回 false。

isobject 函式

返回 boolean 值,指出識別符號是否表示物件變數。 語法

isobject(identifier)

必要的 identifier 引數是一個變數名。 說明

isobject 只用於確定 variant 是否屬於 vartype vbobject。如果 variant 實際引用(或曾經引用過)一個物件,或者如果 variant 包含 nothing,則可能出現這種情況。

如果 identifier 是 object型別或任何有效的類型別,或者,如果 identifier 是 vartype vbobject 的 variant 或使用者自定義的物件,則 isobject 返回 true;否則返回 false。即使變數已設定成 nothing,isobject 也仍返回 true。

使用錯誤捕獲方法可以確認物件引用是否有效。 ismissing 函式

返回 boolean 值,指出一個可選的 variant 引數是否已經傳遞給過程。 語法

ismissing(argname)

必要的 argname 引數包含一個可選的 variant 過程引數名。 說明

使用 ismissing 函式來檢測在呼叫一個程式時是否提供了可選 variant 引數。如果對特定引數沒有傳遞值過去,則 ismissing 返回 true;否則返回 false。如果 ismissing 對某個引數返回 true,則在其它**中使用這個丟失的引數將產生一個使用者自定義的錯誤。

如果對 paramarray 引數使用

ismissing,則函式總是返回 false。為了檢測空的 paramarray,可試看一下陣列的上界是否小於它的下界。

注意 ismissing 對簡單資料型別(例如 integer或double)不起作用,因為與variants不同,它們沒有「丟失」標誌位的前提。正由於此,對於可選引數型別,可以指定預設值。如果呼叫過程時,引數被忽略,則該引數將具有該預設值,如下列示例中所示:

sub mysub(optional myvar as string = "specialvalue")     if myvar = "specialvalue" then        ' myvar 被忽略。     else     ... end sub

在許多情況下,如果使用者從函式呼叫中忽略,則可以通過使預設值等於希望 myvar 所包含的值來完全忽略 if myvar 測試。這將使您的**更簡潔有效。

9樓:36000天

isnothing() 對物件控制都可以用這個判斷是否為空。

最後2個數字串是否為空都可以用第一個代替的。

10樓:雪域枳棪

(1)if cstr(join(一維陣列,""))="" then msgbox "陣列為空"

(2)public declare function safearraygetdim lib "oleaut32.dll"(byref saarray() as any) as long

然後判斷  safearraygetdim (一維陣列)>0 ,則是非空,否則為空

資料庫中欄位的值0,null和空格的有什麼區別

11樓:

這三者的區別是:資料庫中的欄位的值0,表示的是數值為 0,即:數字 0(其ascii碼為十進位制的 48);null 在字元處理的過程中通常被稱作「空字元」,其ascii碼為十進位制的 0;空格(space,即我們平時按下的空格鍵)的 ascii 碼值是十進位制的32。

12樓:左鵬翼

值為0可以看做是int型別 值為null和空格 可以看做是字串型別

型別不同無法比較

輸入任意長度的字串,將該字串中的字元按ASCII碼值升序排列後輸出

你是說書上讓你補全 那麼,你把原來的題目,完整寫上來,添空處有幾行寫清楚!我讀了你的 修改如下 我測試了幾個,沒有發現問題。dim c s a as string 1 s變數顯然應該用字元型別 dim k as integer,j as integer 這個是我加的變數宣告 c text1 s le...

c 字串長度函式,求字串長度函式 C

司馬刀劍 string str welcome to chaina int m1 str.size 求字串長度或者下面的 int m2 str.length 同上面size功能一樣,都是求字串長度的 賈林龐喬 sizeof 得到的是資料型別的長度,比如int char double型別的sizeof...

vb擷取字串函式,vb程式設計怎麼擷取字串?

文字框的值可以用變數代替 四個文字框 t0身份證資訊,t1取得 省前字元,t2取 省和市之間字元,t3取 市到縣之間字元 主要是計算 省市縣在不定長字串中的位置 一取 省 前字元 t1.value mid t0.value,1,instr t0.value,省 1 取省到市 之間字元到t2 t2.v...