C#??运算符浅析

开发 后端
C#??运算符可能是一个被遗忘的运算符,它的使用是什么作用呢?本文就向你C#运算符中??的使用。

C#??运算符可能是一个被遗忘的运算符,很少看到有人用它,它的用法很简单却很实用:

variable ?? defaultValue

相当于

variable == null ? defaultValue : variable

有了它,一行便能搞定Lazy Evaluation了:

对于C#??运算符使用之前:

  1. public UserAccess Users  
  2. {  
  3.     get 
  4.     {  
  5.         if (_users == null)  
  6.         {  
  7.             _users = Proxy.GetQueryObject﹤UserAccess﹥();  
  8.         }  
  9.         return _users;  
  10.     }  

对于使用C#??运算符之后:

  1. public UserAccess Users  
  2. {  
  3.     get 
  4.     {  
  5.         return _users ?? (_users = Proxy.GetQueryObject﹤UserAccess﹥());  
  6.     }  

注:这个运算符只支持引用类型和Nullable类型。

C#??运算符的基本情况就向你介绍到这里,希望你对C#运算符中??有所了解。

【编辑推荐】

  1. C#数据结构与算法之队列浅析
  2. C#数据结构与算法之栈浅析
  3. C#算法一道面试题浅析
  4. C#算法一道面试题的程序实现
  5. C#运算符之算术运算符浅析
责任编辑:仲衡 来源: cnblogs
相关推荐

2009-08-11 15:51:08

C#运算符算术运算符

2009-08-12 10:27:12

C#运算符重载运算符重载实例

2009-08-11 16:03:13

C#运算符

2009-08-12 12:46:11

C#运算符重载

2009-08-12 10:20:52

C#位运算符

2009-08-12 15:20:18

C#赋值运算符复合赋值运算符

2009-08-12 15:02:49

C#赋值运算符简单赋值运算符

2009-08-12 14:49:33

C#移位运算符

2009-09-01 10:08:57

C#运算符

2009-08-12 13:35:22

C#关系运算符

2009-08-12 14:29:32

C#条件运算符

2009-08-11 14:16:38

C# New运算符

2009-08-12 10:47:03

C#运算符重载

2009-08-12 14:23:09

C#逻辑运算符

2009-09-04 13:18:10

C#允许运算符重载

2009-08-12 10:07:51

C#运算符

2009-08-14 10:16:57

C#运算符重载

2009-08-12 10:56:47

C#运算符重载C#运算符重载实例

2009-08-12 13:07:13

C#运算符优先级

2009-08-12 10:37:13

C#运算符重载
点赞
收藏

51CTO技术栈公众号