nil 主要是针对指针或对象的 nil可以用于直接赋值:a := nil null值一般是出现在从数据库中提取数据的时候才会出现的 它在Delphi中不能直接赋值,或直接用于比较 if a = nil then begin // end; if VarIsNull(a) then begin // end;
我曾经看到过把nil赋给窗体是什么意思呀?
var form1: TForm1; //这只是一个Form的指针begin form1 := nil; //有时候,我们释放了一个Form,然后我们把它标为nil,表示 //此刻Form1没有指向一个实例,可能我们下一次又要使用它,例如 if form1 = nil then form1 := TForm1.Create(application); //继续使用form1 form1.Show; end;至于NULL呢,C的习惯时表示#0字符,通常用来标志一个字符串的结束。 但是Delphi中,它是一个Variant类型的变量,用作常量 比如 if DataSet1.FieldByName('FieldName1').Value <> NULL then 当然了,更多人用 if DataSet1.FieldByName('FieldName1').IsNull
nil也是0
只不过nil代表指针指向0地址。
nil可以用于直接赋值:a := nil
null值一般是出现在从数据库中提取数据的时候才会出现的
它在Delphi中不能直接赋值,或直接用于比较
if a = nil then
begin
//
end;
if VarIsNull(a) then
begin
//
end;
form1: TForm1; //这只是一个Form的指针begin
form1 := nil; //有时候,我们释放了一个Form,然后我们把它标为nil,表示
//此刻Form1没有指向一个实例,可能我们下一次又要使用它,例如 if form1 = nil then
form1 := TForm1.Create(application); //继续使用form1
form1.Show;
end;至于NULL呢,C的习惯时表示#0字符,通常用来标志一个字符串的结束。
但是Delphi中,它是一个Variant类型的变量,用作常量
比如
if DataSet1.FieldByName('FieldName1').Value <> NULL then
当然了,更多人用
if DataSet1.FieldByName('FieldName1').IsNull
Delphi中,null是一个Variant类型的常量,就是“空”