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

相关推荐
布吉岛的石头1 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
golang学习记2 小时前
IDEA 2026年的玩法已经完全不同
java·ide·intellij-idea
小羊没烦恼!2 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
紧跟先前的步伐2 小时前
Go AI Agent 实战 05|Temperature 与生成参数:让模型输出可控
java·人工智能·golang
金銀銅鐵2 小时前
[Java] 展示添加元素时 ArrayList 的内部变化
java·后端·ai编程
斌糖雪梨2 小时前
spring auth 核心流程详解
java·后端·spring
泡海椒3 小时前
JQuick-SQL JOIN 查询:连接注册数据集的正确方式
数据库·sql
xiaogai_gai3 小时前
钉钉月结报销到金蝶付款单同步方案实战教程
大数据·数据库·钉钉
Nturmoils4 小时前
报表总在扫大表,列存储应该放在哪一层
数据库