本帖最后由 sxdxgzr@126.com 于 2013-7-16 22:12 编辑
1可空类型Nullable<T> 其类型定义为- [SerializableAttribute]
- public struct Nullable<T>
- where T : struct
复制代码 代表一个值类型可以分配null,而引用类型本身就是可以设置为null,Nullable<T>是为值类型设计的。
2如何使用
eg:声明一个可为空的int类型 Nullable<int> a; 这与int ? a等价。均表示声明一个可为空的int类型。这里声明可为空类型的?
仅仅是一个语法糖。
3??是C#的空操作符,可用于引用类型和可空值类型,是为可为空的引用类型或值类型定义默认值的。- class NullCoalesce
- {
- static int? GetNullableInt()
- {
- return null;
- }
- static string GetStringValue()
- {
- return null;
- }
- static void Main()
- {
- // ?? operator example.
- int? x = null;
- // y = x, unless x is null, in which case y = -1.
- int y = x ?? -1;
- // Assign i to return value of method, unless
- // return value is null, in which case assign
- // default value of int to i.
- int i = GetNullableInt() ?? default(int);
- string s = GetStringValue();
- // ?? also works with reference types.
- // Display contents of s, unless s is null,
- // in which case display "Unspecified".
- Console.WriteLine(s ?? "Unspecified");
- }
- }
复制代码 http://msdn.microsoft.com/en-us/library/ms173224.aspx# |