C# ?的7种用法

这篇具有很好参考价值的文章主要介绍了C# ?的7种用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 可空类型修饰符?

int i? num=null;//表示可空的整型
DateTime time? dateTime=null; //表示可空的时间

2.三元(运算符)表达式?:

x?y:z //表示如果表达式x为true,则返回y,如果x为false,则返回z,是省略if{}else{}的简单形式。

3.NULL检查运算符?.

int? first = customers?[0].Orders.Count();

(1)?[ ]

int? first = customers?[0].Orders.Count();

(2)?[]?

public static Delegate? Combine(params Delegate?[]? delegates)
{
    if (delegates == null || delegates.Length == 0)
        return null;

    Delegate? d = delegates[0];
    for (int i = 1; i < delegates.Length; i++)
        d = Combine(d, delegates[i]);

    return d;
}
//params Delegate?[] delegates -它是可为空的数组 Delegate

//params Delegate?[]? delegates -整个数组可以为空

4.空合并运算符??

(1)??

//用于定义引用类型和可空类型的默认值。如果此运算符的左操作数不为Null,则此操作符将返回左操作数,否则返回右操作数。

var c = a??b //当a不为null时返回a,为null时返回b

(2)null 合并赋值运算符??=

仅当左操作数计算为 null 时,才能使用运算符 ??= 将其右操作数的值分配给左操作数。
List<int> numbers = null;
int? i = null;
 
numbers ??= new List<int>();
numbers.Add(i ??= 17);
numbers.Add(i ??= 20);
 
Console.WriteLine(string.Join(" ", numbers));  // output: 17 17
Console.WriteLine(i);  // output: 17

文章来源地址https://www.toymoban.com/news/detail-604993.html

到了这里,关于C# ?的7种用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Kotlin】Kotlin 与 Java 互操作 ① ( 变量可空性 | Kotlin 类型映射 | Kotlin 访问私有属性 | Java 调用 Kotlin 函数 )

    在 Java 语言 中 , 任何 引用类型变量 都可以为 空 null ; Java 中 八种 基本数据类型 变量 的 默认值 为 0 或 false ; 但是在 Kotlin 语言 中 , 所有的 变量 都是引用类型变量 , 没有基本数据类型 , 默认情况下 所有的变量 都为 非空类型 ; 下面分别定义一个 Java 类 和 Kotlin 脚本 , 在 K

    2024年02月02日
    浏览(63)
  • matlab数据类型 —— 整型

    matlab系列文章 :👉 目录 👈 整型 :是指没有小数点及以后数据部分的数据。 1 、 232 、 -8321 都是整型, -1.32 、 3.322 、 4.21 等部分的不是整型。 Matlab 中提供了两种整数类型, 有符号整型 与 无符号整型 。 有符号整型 可分为 int8 、 int16 、 int32 、 int64 ; 无符号整型 可分为

    2024年02月06日
    浏览(29)
  • vue修饰符的用法

    Vue修饰符是指在Vue模板中用于改变指令行为的特殊后缀。修饰符以 . 开头,用于指示指令应该如何绑定或响应事件。Vue修饰符在一些常见的指令中使用,例如 v-on 和 v-model 。常见的Vue修饰符包括: .prevent :阻止默认事件的发生。 .stop :阻止事件冒泡。 .capture :事件捕获模式

    2024年02月09日
    浏览(41)
  • 创建日期时间类型对象 pendulum.datetime()

    【小白从小学Python、C、Java】 【计算机等考+500强证书+考研】 【Python-数据分析】 创建日期时间类型对象 pendulum.datetime() 选择题 请问pdl.datetime(2023,10,1,12,0,0)的结果是: import pendulum as pdl print(\\\"【执行】pdl.datetime(2023,10,1)\\\") print(pdl.datetime(2023,10,1)) print(\\\"【执行】pdl.datetime(2023,10,1

    2024年02月05日
    浏览(57)
  • 【Java探索之旅】数据类型与变量,字面常量,整型变量

    🎥 屿小夏 : 个人主页 🔥个人专栏 : Java入门到精通 🌄 莫道桑榆晚,为霞尚满天! 在Java编程中,理解常量、数据类型以及变量是构建程序逻辑的基础。本文将深入介绍Java中的字面常量、数据类型和整型变量,帮助读者掌握这些基础概念,为编写高效的Java程序打下坚实基

    2024年03月11日
    浏览(53)
  • MySQL 中 DATETIME 和 TIMESTAMP 时间类型的区别及使用场景

    在 MySQL 中有两种存储时间的数据类型 DATETIME 和 TIMESTAMP ,它们在数据库实际应用中,各有各的优势和劣势。 两个数据类型存储时间的格式一致。均为 YYYY-MM-DD HH:MM:SS 两个数据类型都包含「日期」和「时间」部分。 两个数据类型都可以存储微秒的小数秒(秒后6位小数秒) DATET

    2023年04月08日
    浏览(49)
  • 【uniapp/uview】u-datetime-picker 选择器的过滤器用法

    引入 :要求日期选择的下拉框在分钟显示时,只显示 0 和 30 分钟; 这里引入了 filter = \\\"timeFilter\\\" 作为其配置项; 还补充了开始年份从今年开始的写法,这样就可以按照要求来自定义了。

    2024年02月10日
    浏览(51)
  • C#的访问修饰符详解(二)

    在C#中,internal修饰符是一种访问修饰符,它用于控制类成员的访问范围。一个internal成员只能在其定义的程序集中访问,而不能在其他程序集中访问。本文将介绍internal修饰符的使用方法和实例。 internal修饰符的主要作用是控制数据的访问级别。通过将类的成员声明为interna

    2024年02月03日
    浏览(36)
  • C#使用DateTime.Now.AddDays方法获取任一天的信息

    目录 一、使用DateTime对象的AddDays方法获取任一天信息方法 二、举例说明获取昨天的信息 三、涉及到的知识点 1. MessageBox.Show()中信息分行的办法         使用DateTime.Now属性可以得到当前的日期信息,此时调用ToString方法,并在该方法中添加指定的格式化字符串,可以按照

    2024年01月25日
    浏览(38)
  • c# ref和out参数修饰符

    ref:把值类型变成引用类型传递,形参的值改变了实参的值也会改变 out:使方法可以有多个返回值

    2024年01月16日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包