C#的?和??
1.??
为了实现Nullable数据类型转换成non-Nullable类型数据,才有的一个操作符;
意义:一变量取值,取符号左边的值,若左边为null,那么取赋值??右边的;
栗子:int a=3??-1 ; //??符左边是3,不为空,所以a的值是3;
栗子2:int b=a??9;//??若a为空,则b取值为9;
2.?:
三元运算符,可参看之前的文章;另条件操作符是向右关联的,从左到右进行计算
栗子:a?b:c?d:e 可理解为 a?b:(c?d:e)
3.?
意义:用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 NullAble 类型的。
【引用:”?(单问号)“修饰符,是System.Nullable的缩写形式,比如int?代表是可空的整形,例如:int? a = 1 或者 int? b=null。Nullable类型具有一个HasValue的bool类型只读属性,当Nullable类型实例的该属性为true时,则表示该实例是非空实例,包含一个已知值Value,HasValue为false时,访问Value属性将导致System.InvalidOperationException。这个其实我不大懂的】
栗子:
int a; //默认值0
int? aa; //默认值null
随机推荐
- 高级 Java 面试通关知识点整理!
1.常用设计模式 单例模式:懒汉式.饿汉式.双重校验锁.静态加载,内部类加载.枚举类加载.保证一个类仅有一个实例,并提供一个访问它的全局访问点. 代理模式:动态代理和静态代理,什么时候使用动态代理. ...
- mysql通过centos本地命令行还原数据库出现乱码问题
将sql文件上传到centos系统中,还原mysql数据库,发现是乱码 mysql -h10.11.8.62 -uroot -p dbtest </data/dbsql/dbtest.sql 数 ...
- Python-html css 盒模型
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>ht ...
- javascript 什么类型没有toString()?
JS里面任何对象都有toString()方法么?不是! null和undefined就没有!虽然null用typeof看的时候,是object类型的. 另外number对象调用toString()会报 ...
- redux最佳实践
对于初学者,redux的理念很难理解.其实redux并不难,redux核心理念就是数据仓库,所有数据操作来源都是明确的.只不过不是直接操作数据,而是交给特定的角色做特定的工作,分工明确. pro ...
- 转换类型 totypeString
type.totypeString(variable) 其中front type is want to turn after type是你要转换成的类型 //: dsfsf/Literals. ...
- icomet研究
官方文档https://github.com/ideawu/icomet/wiki 如何实现的长连接:noop: 心跳消息+HTTP endless chunk 以班级ID为主键,进行班级通道的创建: ...
- springbank 开发日志 Spring启动过程中对自定义标签的处理
这篇随笔的许多知识来源于:http://www.importnew.com/19391.html 之所以会去看这些东东,主要是希望能够模仿spring mvc的处理流程,做出一套合理的交易处理流程. ...
- springboot+thymeleaf简单使用
关于springboot想必很多人都在使用,由于公司项目一直使用的是SpringMVC,所以自己抽空体验了一下springboot的简单使用. 环境搭建 springbooot的环境搭建可以说很灵活, ...
- Ubuntu 之 atom 安装以及 常用配置
安装方式如下: 打开终端,使用以下命令安装: sudo add-apt-repository ppa:webupd8team/atom sudo apt-get update sudo apt-get ...