cod*_*biz 34
可空类型(何时使用可空类型)是可以将null作为值的值类型.它的默认值null意味着您没有为其赋值.值类型的示例是int,float,double,DateTime等.这些类型具有这些默认值
int x = 0;
DateTime d = DateTime.MinValue;
float y = 0;
Run Code Online (Sandbox Code Playgroud)
对于Nullable替代方案,上述任何一个的defualt都是null
int? x = null; //no value
DateTime? d = null; //no value
Run Code Online (Sandbox Code Playgroud)
这使它们的行为类似于引用类型,例如object,string
string s = null;
object o = null;
Run Code Online (Sandbox Code Playgroud)
当从表中返回值时,它们在处理数据库中的值时非常有用NULL.想象一下,数据库表中的整数值可能为NULL,只有0在c#变量不可为空时才能表示- 常规整数.
另外,想象一个EndDate列的值,直到将来的实际时间才确定.可以在DB中将其设置为NULL,但是您需要一个可以为N的类型来存储它在C#中
DateTime StartDate = DateTime.Today;
DateTime EndDate? = null; //we don't know yet
Run Code Online (Sandbox Code Playgroud)
什么时候我们必须在 C#.net 中使用可空类型?
想象一下,有一个整数变量id代表一个特定的id.
您可以存储1, 44, 或其他任何东西。但是如果您不知道 id 怎么办。您不能只存储-1或0。您可能正在考虑分配null但通常null不能分配给值类型。
int id=null;//error
Run Code Online (Sandbox Code Playgroud)
Nullable type 使您能够做到这一点。
像这样的值类型int,double,char.. 不能表示为NULL值。
要null以值类型表示,您必须使用nullable type..
它表示为值类型,后跟 ?
int? id=null;
转换为
Nullable<int> id=new Nullable<int>();
可为空类型的默认值为null.
Nullable 类型是 C#2.0 中引入的新概念,它允许用户将 null 值分配给 C# 语言的原始数据类型。重要的是这里不可以空类型是结构类型。
BlogPost:Nullable 类型 - 为什么我们在编程语言中需要 Nullable 类型?
| 归档时间: |
|
| 查看次数: |
34749 次 |
| 最近记录: |