c# 变量空值&设置空值默认值
来源:互联网 发布:韶关市新丰县网络问政 编辑:程序博客网 时间:2024/09/21 09:01
如果不赋予初值,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);
}
但有的时候,让值的类型为空是非常有用的,
比如三态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);
}
0 0
- c# 变量空值&设置空值默认值
- IBatis设置字段空值的默认值
- Freemarker:空值和默认值
- 为空值提供默认值.(Coalesce)
- freemarker的空值和默认值
- C#中的空值
- c# 判断空值
- dateTimePicker 设置为空值
- MyBatis 配置文件空值设置
- C# 空值的问题
- SQL2005级联删除,层叠,设置空,设置默认值
- powerdesigner 设置默认值,设置不为空约束
- MySQL 空-默认值-主键
- 文本编辑域有默认值,当文件域的值为空时,还原为默认值
- JAVA判断变量是否空值
- String类型声明空值变量
- 为birt交叉报表空记录设置默认值
- Power Designer将字段默认值设置为字符串的空
- MySQL group_concat设置group_concat_max_len
- 在构造函数/析构函数中调用虚函数
- 搭建自己的腾讯云服务器
- .net 中句柄的理解
- 入门训练 圆的面积
- c# 变量空值&设置空值默认值
- go服务器与mfc做客户端的简单群聊Demo
- theano,cuda,cudnn,cnmen
- mipmap 目录和drawable 目录有什么区别
- 类 - 复制构造函数
- 千视通AI技术助力黔西南州公安大数据防控体系建设
- 人工智能在深度学习领域的前世今生
- Android 系列 4.7发送/接收广播消息
- Git Subtree 的使用