public class CustomObject
{   public string CodeName;
}CustomObject obj1;if(obj1!=null){obj1.CodeName="12345";
}
//等价于
obj1?.CodeName="12345";
//=================================================================CustomObject obj2;
if(obj1.CodeName!=null){obj2.CodeName=Obj1.CodeName
}else{obj2.CodeName="54321";
}
//等价于
obj2.CodeName=obj1.CodeName??"54321";
//=================================================================//同时使用
if(obj1!=null){if(obj1.CodeName!=null){obj2.CodeName=obj1.CodeName;}else{obj2.CodeName="54321";}
}
//等价于
obj2.CodeName=obj1?.CodeName??"54321";

注意:以上语法最好不要对unity自带的组件进行操作,原因是unity底层重载了组件的!=和==运算符,如果对unity组件操作会造成结果错误,具体参考雨松大佬的博客

c#的问号(?)和双问号语法糖(??)的用法和在unity中使用需要注意的事项相关推荐

  1. freemarker中 感叹号、双感叹号、问号、双问号 的使用方法

    1.?? <!-- ??是判断对象是否为空(??是?exists的缩写) --> <#if object ??>${object}<#if>   如果object不 ...

  2. swift 中的 感叹号 问号 和 双问号用法详解

    首先介绍一下swift 中的 Optional!  点到 Optional 的头文件可以看到, Optional 其实是个enum,里面有 case None 和 case Some(Wrapped) ...

  3. 多角度让你彻底明白yield语法糖的用法和原理及在C#函数式编程中的作用

    如果大家读过dapper源码,你会发现这内部有很多方法都用到了yield关键词,那yield到底是用来干嘛的,能不能拿掉,拿掉与不拿掉有多大的差别,首先上一段dapper中精简后的Query方法,先让 ...

  4. Python组合数据类型:容器类型总览,(不)可变数据类型immutable、(不)可迭代对象iterable、迭代器iterator、生成器generator、语法糖

    一.组合数据类型container objects 组合数据类型container objects:能够表示多个数据的类型 集合类型:集合类型是一个元素集合,元素无序不重不变 序列类型:序列类型是一个 ...

  5. vue3+ts+setup语法糖

    1.setup语法糖简介 直接在script标签中添加setup属性就可以直接使用setup语法糖了. 使用setup语法糖后,不用写setup函数:组件只需要引入不需要注册:属性和方法也不需要再返回 ...

  6. Vue3 setup语法糖勾子函数使用简易教程(上)

    Vue3 setup语法糖勾子函数使用简易教程(上) 前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的.包括语音识别.机器翻译等从基础到实战都有,很详细,分享给大家. ...

  7. Vue3 Ref 语法糖,告别 .value 的写法

    前言 近期,Vue3 提了一个 Ref Sugar 的 RFC,即 ref 语法糖,目前还处理实验性的(Experimental)阶段.在 RFC 的动机(Motivation)中,Evan You ...

  8. 知道尤雨溪为什么要放弃 $ 语法糖提案么?

    前言 最近看到一篇文章: <最新,Vue 中的响应性语法糖已废弃> 本文标题中的 $ 语法糖指的就是上文中的响应式语法糖 (Reactivity Transform),那为什么不写 Rea ...

  9. JavaScript中的 语法糖 是什么?

    专业的解释 在计算机科学中,语法糖(syntactic sugar)是指编程语言中可以更容易的表达一个操作的语法,它可以使程序员更加容易去使用这门语言:操作可以变得更加清晰.方便,或者更加符合程序员的 ...

最新文章

  1. 库函数strlen源码重现及注意问题
  2. redis的五种存储类型的具体用法
  3. 横向扩展你的ASP.NET Core SignalR 应用
  4. ElasticSearch的Object数据类型
  5. WPF 中出现不同线程间操作的解决
  6. linux纯文字界面,Linux入门 Part1: 使用控制台(1)-纯文本界面
  7. offset Dimensions 详解
  8. 根据两点经纬度计算距离和角度——java实现
  9. python控制小爱同学_小爱同学控制电脑开机 - IT客栈
  10. 基于ETest的飞控系统半实物实时仿真
  11. 运放参数的详细解释和分析-part18,压摆率(SR)
  12. C++ Primer 第四章学习 —— “表达式”
  13. 图片如何高清修复?高清修复图片的方法
  14. 用python怎么读文件_python怎么读文件
  15. html自动登录蓝奏云,蓝奏云真实地址解析
  16. 第一周,人工智能学习总结
  17. 【风靡全球年近40年的C++过时了吗?C++20来告诉大家】
  18. 复试口语(五)介绍你的学校-为什么来这个学校
  19. 0基础强化学习实践之超级玛丽
  20. MySQL解释--百度百科

热门文章

  1. java.lang.Exception: No tests found matching Method
  2. Mac中Pages格式刷
  3. We're sorry but *** doesn't work properly without JavaScript enabled. Please enable it
  4. Java-基础篇-25-【JDBC】
  5. 常用命令之思科常用基础配置
  6. 蜜汁标题,进来有料。
  7. 小程序和公众号消息统一消息发送
  8. 你要问我应用层?我就和你扯扯扯,高级java工程师面试
  9. 属牛带宸温柔体贴的女孩名字,念起来朗朗上口
  10. kubernetes基于nginx-ingress进行蓝绿部署、金丝雀发布(canary)