【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;
相关推荐
专注VB编程开发20年12 小时前
AI 生成C# WinForm 窗体 = 目前就是垃圾
开发语言·人工智能·c#
z落落13 小时前
C# 泛型接口和泛型类+泛型约束
开发语言·c#
阿正的梦工坊13 小时前
【Rust】08-集合类型、字符串与迭代器入门
开发语言·rust·c#
FuckPatience13 小时前
C# 使用泛型协变将派生类类型替换为基类类型
开发语言·c#
guygg8813 小时前
C# 生成中间带 Logo 头像的二维码
开发语言·c#
Java面试题总结14 小时前
C#12 中的 Using Alias
开发语言·windows·c#
加号314 小时前
【C#】 ASCII 码转字符串技术解析
开发语言·c#
2601_9618752415 小时前
高考真题word版下载|2025高考全科真题可编辑文档
c#·word·ar·vr·mr·高考·oneflow
阿正的梦工坊17 小时前
【Rust】09-泛型、Trait 与生命周期基础
开发语言·rust·c#
z落落17 小时前
C# 事件(Event)+自定义带参数事件例子
开发语言·分布式·c#