定义
命名空间:
程序集:
System.Runtime.dll
表示不存在的值。 此类不能被继承。
C#复制
public sealed class DBNull : IConvertible, System.Runtime.Serialization.ISerializable
继承
DBNull
实现
示例
下面的示例调用 DBNull.Value.Equals
该方法来确定联系人数据库中的数据库字段是否具有有效值。 如果这样做,字段值将追加到标签中的字符串输出。
C#复制
private void OutputLabels(DataTable dt)
{
string label;
// Iterate rows of table
foreach (DataRow row in dt.Rows)
{
int labelLen;
label = String.Empty;
label += AddFieldValue(label, row, "Title");
label += AddFieldValue(label, row, "FirstName");
label += AddFieldValue(label, row, "MiddleInitial");
label += AddFieldValue(label, row, "LastName");
label += AddFieldValue(label, row, "Suffix");
label += "\n";
label += AddFieldValue(label, row, "Address1");
label += AddFieldValue(label, row, "AptNo");
label += "\n";
labelLen = label.Length;
label += AddFieldValue(label, row, "Address2");
if (label.Length != labelLen)
label += "\n";
label += AddFieldValue(label, row, "City");
label += AddFieldValue(label, row, "State");
label += AddFieldValue(label, row, "Zip");
Console.WriteLine(label);
Console.WriteLine();
}
}
private string AddFieldValue(string label, DataRow row,
string fieldName)
{
if (! DBNull.Value.Equals(row[fieldName]))
return (string) row[fieldName] + " ";
else
return String.Empty;
}
注解
类 DBNull 表示不存在的值。 例如,在数据库中,表行中的列可能不包含任何数据。 也就是说,列被视为根本不存在,而不只是没有值。 对象 DBNull 表示不存在的列。 此外,COM 互操作使用 DBNull 类来区分VT_NULL变量(指示不存在的值)和指示未指定值的VT_EMPTY变量。
类型 DBNull 是单一实例类,这意味着只有一个 DBNull 对象存在。 成员 DBNull.Value 表示唯 DBNull 一的对象。 DBNull.Value 可用于向数据库字段显式分配不存在的值,尽管大多数 ADO.NET 数据提供程序会自动分配字段没有有效值时的值 DBNull 。 可以通过将该字段DBNull.Value.Equals
的值传递给方法来确定从数据库字段检索的值是否为DBNull值。 但是,某些语言和数据库对象提供了一些方法,使确定数据库字段 DBNull.Value的值是否更容易。 其中包括Visual BasicIsDBNull
函数、Convert.IsDBNull方法、DataTableReader.IsDBNull方法和IDataRecord.IsDBNull方法。
不要将面向对象的编程语言的概念 null
与 DBNull 对象混淆。 在面向对象的编程语言中, null
表示缺少对对象的引用。 DBNull 表示未初始化的变体或不存在的数据库列。
字段
Value | 表示 DBNull 类的唯一实例。 |
方法
Equals(Object) | 确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() | 作为默认哈希函数。 (继承自 Object) |
GetObjectData(SerializationInfo, StreamingContext) | 实现 ISerializable 接口并返回序列化 DBNull 对象所需的数据。 |
GetType() | 获取当前实例的 Type。 (继承自 Object) |
GetTypeCode() | |
MemberwiseClone() | 创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() | 返回空字符串(Empty)。 |
ToString(IFormatProvider) | 使用指定的 IFormatProvider 返回空字符串。 |
显式接口实现
适用于
产品 | 版本 |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7 Preview 2 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 |
.NET Standard | 2.0, 2.1 |
UWP | 10.0 |
Xamarin.iOS | 10.8 |
Xamarin.Mac | 3.0 |