【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;
相关推荐
我是唐青枫9 分钟前
C#.NET MemoryMarshal 深入解析:零拷贝内存重解释、二进制读写与使用边界
c#·.net
susan花雨1 小时前
C#异步并行处理的用法
c#
weixin_520649872 小时前
Winform创建与启动
开发语言·c#
武藤一雄2 小时前
WPF中逻辑树(Logical Tree)与可视化树(Visual Tree)到底是什么
microsoft·c#·.net·wpf·.netcore
周杰伦fans2 小时前
深入 C# 匿名类型:从 `new { Ask = ask }` 说起
开发语言·c#
不会编程的懒洋洋2 小时前
C# IDisposable 和 using
开发语言·笔记·机器学习·c#·.net·visual studio·c#基础
家有娇妻张兔兔2 小时前
Apache POI 导出 Word 踩坑实录:Word 分栏为什么做不好左右平铺
c#·word·apache·poi·分栏
唐青枫3 小时前
C#.NET MediatR 深入解析:进程内消息分发、CQRS、通知事件与管道行为实战
c#·.net
njsgcs12 小时前
拆分多实体到装配体 solidworks c#
c#