C#:空合并运算符

`??` 是空合并运算符。若左操作数不为 `null`,返回左操作数;否则返回右操作数(默认值)。常用于可空值类型(`int?`)或引用类型提供兜底值 ,支持链式调用。

// 1. 可空值类型转非空

int? nullableInt = null;

int result = nullableInt ?? 0; // result = 0

// 2. 引用类型兜底

string name = null;

string displayName = name ?? "Unknown"; // displayName = "Unknown"

// 3. 链式默认值(从左到右取第一个非null)

string config = userConfig ?? globalConfig ?? "Default";

// 4. 结合 ?. 安全访问并提供默认值

List<string>? list = null;

int count = list?.Count ?? 0; // count = 0,避免 NullReferenceException

相关推荐
Lonely丶墨轩3 分钟前
从一个 404 到负数 ID:第三方接口开发中的几次排错
java
zhanghaha13147 分钟前
C# 系列教程_12 字符串 string 保姆级系统教程(面向新手,大量示例 + 原理讲解)
开发语言·数据库·c#
聪明的笨猪猪8 分钟前
实际工程问题:AI生成MyBatis批量操作的SQL超限与性能雪崩
java·经验分享·面试·ai编程
文丑颜不良啊9 分钟前
LeetCode2501~2520题目解析
java·leetcode
韩曙亮12 分钟前
【错误记录】安卓 adb 调试 5037 端口占用排查 ( adb 的三层结构 | 找出本机占用 5037 的进程 )
android·数据库·adb·安卓·错误记录
风骏时光牛马14 分钟前
AI_Coding:智能代码创作引擎
前端
FungLeo18 分钟前
成为全栈·Vue管理后台篇·<scriptsetup>:把页面拆成可读、可测的 Vue 组件
前端·javascript·vue.js·typescript·前端组件化·composition api·vue sfc
瑞雪兆丰年兮24 分钟前
JavaWeb-day07-MySQL(DQL&多表设计)
java·开发语言·数据库·sql·mysql·javaweb·web
唐老板29 分钟前
Spring Boot 4 默认开虚拟线程,HikariCP 却成瓶颈
java
lsc_blog5 小时前
年终自评别贴提交记录,把技术产出讲成变化
数据库·面试·职场和发展·跳槽·求职招聘