【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;
相关推荐
FuckPatience3 小时前
C# 使用内存映射文件实现进程间通信
c#
kylezhao20195 小时前
如何在 C# 项目中使用 NLog 进行日志记录
开发语言·c#
小菱形_6 小时前
【C#】IEnumerable
开发语言·c#
爱敲点代码的小哥6 小时前
Directoy文件夹操作对象 、StreamReader和StreamWriter 和BufferedStream
开发语言·c#
CodeCraft Studio7 小时前
Excel处理控件Aspose.Cells教程:使用C#在Excel中创建折线图
java·c#·excel·aspose.cells·excel图表·excel api库·excel折线图
m5655bj8 小时前
C# 在 PDF 文档中添加电子签名
开发语言·pdf·c#
superman超哥8 小时前
仓颉Actor模型的实现机制深度解析
开发语言·后端·python·c#·仓颉
一只蚊子010 小时前
C# WinForms配置Halcon
windows·c#·halcon
阿蒙Amon10 小时前
C#每日面试题-进程和线程的区别
java·面试·c#
HUST11 小时前
C 语言 第九讲:函数递归
c语言·开发语言·数据结构·算法·c#