asp.net网站建设中c#语句中的? ??代表的意思
asp.net网站建设中c#语句中的? ??代表的意思,如INT ? A 代表A这可以为空。??操作符如果为空的默认值
如果不赋予初值,C#的变量是不允许直接使用的。
但有的时候,让值的类型为空是非常有用的,
比如三态bool,其中一个状态便是未给定值。
泛型使用System.NullAble<T>提供了类型值为空的一种方式。
System.NullAble<T> nullAbleInt;
因为太常用,C#特意给了一个语法快捷
int? nullAbleInt;
简单的例子:
int? nVal1 = new int?();
int? nVal2 = null;
int? nVal3 = 3;
Console.WriteLine(nVal1); // 输出null
Console.WriteLine(nVal2); // 输出null
Console.WriteLine(nVal3); // 输出3
原则:null与任何数数学运算结果为null,null bool 操作任何值结果为 null。
为了减少可空类型的代码量,遇到null的时候
C#提供了??操作符来获取如果为空的默认值。
static void Main(string[] args)
{
int? nVal1 = null;
int? nVal2 = 5;
// nVal1为空,相乘后还是null,输出0作为默认值
Console.WriteLine(2 * nVal1 ?? 0);
// nVal2非空,取计算值输出,输出10
Console.WriteLine(2 * nVal2 ?? 0);
.net里面decimal是值类型,不可能为空
可以设置为
decimal.MaxValue 表示 Decimal 的最大可能值。该字段是常数且为只读。
decimal.MinusOne 表示数字负一 (-1)。
decimal.MinValue 表示 Decimal 的最小可能值。该字段是常数且为只读。
decimal.One 表示数字一 (1)。
decimal.Zero 表示数字零 (0)。
网页设计公司上联网络
http://www.web258.cn 上海品牌网页设计公司,不但价格实惠,而且服务好,公司要做网站找就上联帮你设计网站,上联网络网页设计出品简洁大气。