当前位置:编程学习 > C#/ASP.NET >>

提问

private void getDate(int ? i){} 什么意思 --------------------编程问答-------------------- 参数int ? 可空类型 nullable
--------------------编程问答-------------------- int? i表示i是个可空类型的变量,可以i=null,而一般的值类型int i是不能赋予null值的。 --------------------编程问答-------------------- 可空的值类型变量
通常来说,值类型变量不可以为空 (null)。但是在现实中,一个空的值类型变量确实十分有用的,特别是在处理数据库的时候。例如,数据库里面的bit类型可以为真或者假,还可以是空 (null)。但是当映射这个类型到ASP.NET 2.0的时候,通常布尔运算符只有真和假两个值。如何把数据库里面的空值映射到ASP.NET的运行时呢? ASP.NET 2.0引进了一种称为“可空结构”,使得值类型的变量可以像引用类型的变量一样可以为空值。要定义一个可空类型的变量很简单: System.Nullable 变量名 如果你觉得那样子写太长,你可以试试:T? 变量名。这个"?"表示改变量是可空的。当定义了这种变量以后,你可以把空值赋给它们: int? nullableInt; bool? nullableBoolean; nullableInt = null; nullableBoolean = null; 你处理可空变量的方式与其他普通变量相同。你可以执行装箱操作: int? a = null; object b = a; int? c; c = (int?)b; 所有的变量,a、b和c都会是空 (null)。 当一个变量被定义为空的时候,系统提供了一些方法来处理这种变量。例如,我们有以下两个变量: int? a = null; int? b = 3; 然后你可以使用a.HasValue来检查a是否含有值,或者你可以使用b = a.GetValueOrDefault()来设置b的值。关于可空类型变量的完全成员列表可以在MSDN找到(如果你电脑上面有安装MSDN,你可以尝试这个链接:ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref2/html/T_System_Nullable.htm)。 另外一个有用的运算符是:??。这个运算符返回一个值,当左边的值不为空的时候,返回左边的值,否则返回右边的值。例如,你可以用下面的语句保证变量b含有值: b = a ?? 0; 这个与a.GetValueOrDefault(0)相同。 现在,你可以使用可空变量提供的弹性来写一些类似于public void GetProduct(int? categoryId, int? pageIndex, int? pageSize, ref int? totalRecords)的函数了。 

--------------------编程问答-------------------- --------------------编程问答-------------------- 同上
接分 --------------------编程问答-------------------- 可以为null --------------------编程问答-------------------- 接分 楼主结贴了 --------------------编程问答-------------------- 可以为空 --------------------编程问答-------------------- int? i表示i是个可空类型的变量,可以i=null --------------------编程问答--------------------   没这样子定义过,,学习 --------------------编程问答-------------------- 学习,接分
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,