C# 运算符 ?、??、?: 各种问号的用法和说明

 更新时间:2016年04月10日 09:32:23   作者:我不是高手  
本文介绍C#中三种常见的问号运算符的使用方法,简单讲解给大家,希望对大家有所帮助。

 1、可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空,例如:string str=null;是正确的。int i=null;编译器将报错。为了使值类型也可为空,可空类型出现了,可空类型使用可空类型修饰符?来表示,表现形式为T?。例:int?表示是可空的整形,DateTime?表示为可空的时间。T?其实是System.Nullable<T>(泛型结构)的缩写形式,也就意味着当你用到T?时编译器在编译时会把T?编译成System.Nullable<T>的形式,例如:int?,编译后便是System.Nullable<int>的形式。

复制代码 代码如下:

int a; //a<>null
int ?b; //b=null
int ?c = b+1; //c=null;

2、空合并运算符(??):用于定义可空类型和引用类型的默认值。如果此运算符的左操作数不为 null,则此运算符将返回左操作数;否则返回右操作数。 例:a??b,当a为null时则返回b,a不为空时返回a本身。空合并运算符为右结合运算符,即操作时从右向左进行组合的。如,“a??b??c”的形式按“a??(b??c)”计算。

复制代码 代码如下:

int?a=null; int b;(声明a和b)
b=a??2; //b=2;
a=6;b=a??8;//b=6;

3、三元(运算符)表达式(?:):如果这个你也不了解的话(我很不相信),那你就当我也不了解吧,不再赘述。

复制代码 代码如下:

int a=1>0?1:0 //a=1;

相关文章

  • C#实现将Word文档转换为图片

    C#实现将Word文档转换为图片

    在现代应用程序开发中,文档处理是一个普遍且关键的需求,本文将深入探讨如何利用Spire.Doc for .NET 库在 C# 中轻松实现将Word文档转换为图片,感兴趣的小伙伴可以了解下
    2025-09-09
  • 不能在子类或外部类发布C#事件代码分析

    不能在子类或外部类发布C#事件代码分析

    一个朋友问了一个问题:“为什么不能在子类或外部发布C#事件?”,我说我不知道,要看看生产的IL代码,下面我们看看
    2013-11-11
  • 详解C#设计模式编程中生成器模式的使用

    详解C#设计模式编程中生成器模式的使用

    这篇文章主要介绍了详解C#设计模式编程中生成器模式的使用,生成器模式主张创建对象的过程和对象的表现应该分离开来,需要的朋友可以参考下
    2016-02-02
  • Netcore Webapi返回数据的三种方式示例

    Netcore Webapi返回数据的三种方式示例

    这篇文章主要为大家介绍了Netcore Webapi返回数据的三种方式示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • C# FileSystemWatcher 在监控文件夹和文件时的使用方法

    C# FileSystemWatcher 在监控文件夹和文件时的使用方法

    这篇文章主要介绍了C# FileSystemWatcher 在监控文件夹和文件时的使用方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以参考下
    2020-06-06
  • 聊一聊C# 8.0中的await foreach使用

    聊一聊C# 8.0中的await foreach使用

    这篇文章主要介绍了聊一聊C# 8.0中的await foreach使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • C#事件订阅发布实现原理详解

    C#事件订阅发布实现原理详解

    这篇文章主要介绍了C#事件订阅发布实现原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • 实现ASP.NET无刷新下载并提示下载完成的开发思路

    实现ASP.NET无刷新下载并提示下载完成的开发思路

    这篇文章主要介绍了实现ASP.NET无刷新下载并提示下载完成的开发思路的相关资料,需要的朋友可以参考下
    2015-10-10
  • C#实现的pdf生成图片文字水印类实例

    C#实现的pdf生成图片文字水印类实例

    这篇文章主要介绍了C#实现的pdf生成图片文字水印类,结合完整实例形式分析了C#针对pdf文件的创建、添加文字、水印等相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • C#实现协变和逆变案例

    C#实现协变和逆变案例

    这篇文章介绍了C#实现协变和逆变的案例,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10

最新评论