C#中的?操作符

本文介绍了C#中三种符号的用法。?可表示可空数据类型,跟在对象后可避免空值异常;??用于连接两个对象,若前面对象为null则取后面的对象;三元表达式aa?bb:cc,当aa为true时返回bb,否则返回cc。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、1个?的用法

1. 表示可空数据类型,如 int? bool?

2. 跟在对象后,如该对象为null,则不会触发空值异常,且整个表达式返回null,如:

string kk = "123";

volcalc=null; //volcalc为复合对象

kk=volcalc?.digVm?.outCeiling?.outRing();

结果:kk=null;

又如:当innerCeiling为null时,该表达式返回null。digvm.innerCeiling?.outRing?.Split(" \r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList();

但包含的?对象不能被赋值,如语法错误(?在对象的最后也不行):digvm.outCeiling?.outRing = "abc"; //错误表达式

 

二、??的用法

??可连接两个对象,表示如果前面的对象为null则取后面的对象

int? ii=null;
string cc=null;
ii = ii ?? 5;
cc = cc ?? ii.ToString();

结果:cc="5"

 

三、3元表达式 aa?bb:cc

aa为1逻辑表达式,如果aa=true,返回bb,否则返回cc

转载于:https://www.cnblogs.com/mol1995/p/10888898.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值