【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;
相关推荐
datalover13 小时前
【无标题】
c#·linq
FlYFlOWERANDLEAF15 小时前
微软CommunityToolkit.Mvvm和DevExpress中GenerateViewModel使用
c#
Xin_ye1008616 小时前
第七章:进阶篇——事件监听、外部服务集成与性能优化
c#
z落落16 小时前
C# WinForm NModbus 串口通信+WinForm Modbus4 串口通信
开发语言·单片机·c#
CoderIsArt16 小时前
C#环境中部署MQTT客户端
开发语言·c#
CSDN_RTKLIB17 小时前
模型空间、布局控件、自定义块
c#
z落落18 小时前
C# WinForm TCP 服务器+WinForm TCP 客户端
服务器·tcp/ip·c#
csdn_aspnet18 小时前
C# 多个串口多个线程发送数据和接收数据
c#·串口·thread·com·serialport
吴可可1231 天前
多段线局部约束缩放实现
c#
棉晗榜1 天前
C# HttpClient配置具有tls指纹发起跟浏览器一样的请求解决反爬虫防护
开发语言·爬虫·c#