【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;
相关推荐
魔法阵维护师2 小时前
从零开发游戏需要学习的c#模块,第十六章(安装 MonoGame 并创建第一个窗口)
学习·游戏·c#·monogame
吴可可1233 小时前
用Teigha修改并保存CAD文件
数据库·算法·c#
xiaoshuaishuai85 小时前
C# 签名异常与Gas预估失败调试方案
开发语言·网络·tcp/ip·c#
xiaoshuaishuai85 小时前
C# Gemini 辅助网络安全漏洞分析
开发语言·web安全·c#
风继续吹..5 小时前
C# 文件输入输出 精简理解
开发语言·c#
魔法阵维护师5 小时前
从零开发游戏需要学习的c#模块,第十章(设计模式入门)
学习·游戏·设计模式·c#
风继续吹..6 小时前
C# 文件 IO 实操练习题 5道
开发语言·c#
苦荞米6 小时前
C#中,Ticks不能作为时间戳使用。
c#
吴可可1237 小时前
Teigha处理CAD样条曲线的方法解析
数据库·算法·c#
XS0301067 小时前
并发编程三
开发语言·c#