注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

C#小知识之一“C#中的问号”  

2013-06-21 15:53:21|  分类: NET(C#) |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

C#小知识之一“C#中的问号”

最近看别人的程序,发现其中有一个?号,原来也遇到过但查了查资料明白了便没再想什么,这就意味着,过了好久又忘记了。好记性不如烂笔头,来吧。

      C#"?"初步总结有三种情况:

      1、可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空,例如:string a=null;是正确的。int i=null;编译器将报错。

俗话说有需求就有动力呀,微软就出了这个修饰符搞定了这个问题,那就是产生一个可空类型。可空类型使用可空类型修饰符?来修饰(T?)。举例来说:int?表示是可空的整形,DateTime?表示为可空的时间。

其实在NET库的内部,T?其实是System.Nullable<T>的缩写形式。

      2、三元(运算符)表达式(?:):这个不再赘述。

      3、空合并运算符(??):用于定义可空类型和引用类型的默认值。即此操作符左侧操作数据为为NULL,则返回左侧操作数;反之,为右侧。

比如:c = a??b,anullc=ba不为NULL,则c=a。空合并运算符为右结合运算符,即操作时从右向左进行组合的。

知行合一,积少成多。

  评论这张
 
阅读(633)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017