C#的"?"修饰符和"??"运算符_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > C#的"?"修饰符和"??"运算符

C#的"?"修饰符和"??"运算符

 2017/9/29 18:43:15  Movurtne  程序员俱乐部  我要评论(0)
  • 摘要:一.?可空类型修饰符“?”用来修饰为空的值类型,在加上“?”修饰符后,值类型也可以为空了,如:publicint?CommandTimeout{get;};varprop=newPropertyInfo();prop?.CanWrite==true;publicCommandDefinition(stringcommandText,objectparameters=null,IDbTransactiontransaction=null,int
  • 标签:C#

一.  ?  可空类型修饰符

“?”用来修饰为空的值类型,在加上“?”修饰符后,值类型也可以为空了,如:

public int? CommandTimeout { get; };
var prop = new PropertyInfo();

prop?.CanWrite == true;
public CommandDefinition(string commandText, object parameters = null, IDbTransaction transaction = null, int? commandTimeout = null,CommandType? commandType = null)

还有一点需要知道,编译的时候,加上“?”修饰符的值类型会被转换为:

// 支持的值类型,可以分配 null。 此类不能被继承。
[ComVisible(true)]
public static class Nullable

 

二.  ??  空合并运算符

 “??”用于运算可为空类型和引用类型的最终值,如:

templates = templates ?? new List<object>();

代码中,如果templates不为空,则返回自身,如果templates为空,则重新实例化。

上一篇: 读Executors源码 下一篇: 没有下一篇了!
发表评论
用户名: 匿名