【ArcGIS Pro二次开发】(86):C#问号运算符(?)的用法

1、三目运算符

cs 复制代码
// 【判断语句】?【为true时获得的值】:【为false时获得的值】
string res = x > 2 ? "正确" : "错误";
// 取值时可以再叠加判断
string res2 = x > 2 ? "正确" : (x > 1 ? "有一点正确" : "错误");

2、可为空

cs 复制代码
// 声明可为空的数据类型
int? a;
int? a = 5;
int? a = null;

3、null条件运算

cs 复制代码
// 如果row["SZ1"]为空,赋值结果就直接返回null,而不是报错
var sz1 = row["SZ1"]?.string(); 

4、null合并运算

cs 复制代码
// x不为空时,返回x,为空时返回-1
int? x = null;
return x ?? -1;
相关推荐
qq_454245031 小时前
BasicMethod.Map 设计框架:8 个并行基础模块的数学根基与实现
数据结构·算法·c#
Byron Loong2 小时前
【c#】Bitmap释放之 大象与蚊子
开发语言·c#
临风细雨3 小时前
从 Bun 的 Rust 重写,看 C# 如何重建 AI 基础设施层
人工智能·rust·c#
吴可可1233 小时前
C# CAD二次开发自定义实体实现
c#
z落落5 小时前
C# WinForm 线程池与事件等待+进度条暂停恢复实战案例
开发语言·c#
酷酷的身影7 小时前
Managers/APConfigManager.cs
开发语言·ui·c#
贾斯汀frank19 小时前
C# 15 类型系统改进:Union Types
开发语言·windows·c#
曹牧20 小时前
Visual Studio:输出路径
windows·c#
时代的狂20 小时前
如何理解 C# 的 async 和 await
c#·.netcore·async·await
xiaoshuaishuai81 天前
C# AI实现PR处理、单元测试
开发语言·c#·log4j