当前位置: 首页 > news >正文

C# 语法糖

三元运算符  ?:

使用前

int value = -2;
if (value < 0)
{
    value = 0;
}
else
{
    value = 1;
}

使用后

int value = -2;
value = value < 0 ? 0 : 1;

Null 合并操作符 ??

 使用前

string value = GetString();
if (value == null)
{
    value = "Empty";
}

使用后

如果左操作数的值不为null,则 null 合并运算符 ?? 返回该值;否则,它会计算右操作数并返回其结果。 如果左操作数的计算结果为非 null,则?? 运算符不会计算其右操作数。 

string value = GetString() ?? "Empty";

内插字符串 $

字符串内插为格式化字符串提供了一种可读性和便捷性更高的方式。 它比字符串复合格式设置更容易阅读。

使用前

string name = "小明";
int age = 18;
string.Format("大家好,我叫{0},今年{1}岁。", name, age);

使用后

string name = "小明";
int age = 18;
var format = $"大家好,我叫{name},今年{age}岁。";

Null 条件运算符 ?.

如果对象为NULL,则不执行?.后面的逻辑

使用前

Action action;
if (action != null)
{
    action.Invoke();
}

使用后

Action action;
action?.Invoke();

可空类型修饰符  ?

引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。
例如:string str=null; 是正确的,int i=null; 编译器就会报错。
使用可空类型修饰符?可以让值类型变量赋值null

int? value = 0;
value = null;

using

当离开 using 语句块时,将释放获取的IDisposable实例。 using 语句可确保即使在 using 语句块内发生异常的情况下也会释放可释放实例。

使用前

StreamReader reader = null;
try
{
    reader = File.OpenText("numbers.txt");
}
finally
{
    reader?.Dispose();
}

使用后

using (StreamReader reader = File.OpenText("numbers.txt"))
{

}

相关文章:

  • Docker build 会在本地产生巨大的文件
  • 计算机视觉技术探索:美颜SDK如何利用深度学习优化美颜、滤镜功能?
  • 如何选择合适的SSL服务器证书
  • 深入理解 Vue.js 中的 <keep-alive>:使用技巧与注意事项
  • c#:使用Modbus RTU协议
  • 高频SQL50题 第一天 | 1757. 可回收且低脂的产品、584. 寻找用户推荐人、595. 大的国家、1683. 无效的推文、1148. 文章浏览 I
  • 3.19刷题
  • 【VUE】day05-ref引用
  • 3.18-1
  • 基于Spring Boot的冷链物流系统的设计与实现的设计与实现(LW+源码+讲解)
  • docker需要sudo才能使用
  • Qt窗口控件之颜色对话框QColorDialog
  • jvm中每个类的Class对象是唯一的吗
  • 计算机网络分层结构
  • 【第14节】windows sdk编程:进程与线程介绍
  • Vue下载与安装步骤
  • Windows Docker 报错: has no HTTPS proxy,换源
  • 网络空间安全(37)获取webshell方法总结
  • 面试八股 —— Redis篇
  • Dagger2从入门到放弃
  • 重庆疫情最新情况播报/seo包年优化平台
  • 南翔做网站公司/市场监督管理局职责范围
  • 外贸仿牌网站/中国免费网站服务器主机域名
  • 委托他人建设的网站的侵权责任/郑州seo技术培训班
  • 温州网站开发/专业制作网页的公司
  • 家装平面设计主要做什么/漳州seo建站