C# 语法糖

news/2025/3/23 23:48:52/

三元运算符  ?:

使用前

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"))
{}
文章来源:https://blog.csdn.net/qq_44809934/article/details/146365553
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/news/1581067.html

相关文章

在使用mybatis时遇到枚举的相关问题和解决

目录 1.前言 2.问题解决 2.1 在父依赖中添加版本管理 2.2 微服务中引入依赖 2.3 在application.yaml中进行配置 2.4 在枚举中添加注解 1.前言 今天在使用mybatis的时候&#xff0c;如下SQL查询遇到了报错(其中status为枚举类型&#xff0c;数据库中存的为整形)&#xf…

Compose 实践与探索十五 —— 自定义触摸

1、自定义触摸与一维滑动监测 之前我们在讲 Modifier 时讲过如下与手势检测相关的 Modifier&#xff1a; Modifier.clickable { } Modifier.combinedClickable { } Modifier.pointerInput {detectTapGestures { } }这里对以上内容就不再赘述了&#xff0c;直接去讲解更复杂的…

Linux--软硬链接、动静态库

一、深刻理解软硬链接 在Linux中&#xff0c;链接是一种将文件或者目录连接到其他位置的方法&#xff0c;分为硬链接和软链接。 硬链接&#xff1a;硬链接是通过在文件系统中创建一个新的文件&#xff0c;该文件与原文件共享相同的 inode&#xff08;索引节点&#xff09;。in…

王者荣耀道具页面爬虫(json格式数据)

首先这个和英雄页面是不一样的&#xff0c;英雄页面的图片链接是直接放在源代码里面的&#xff0c;直接就可以请求到&#xff0c;但是这个源代码里面是没有的 虽然在检查页面能够搜索到&#xff0c;但是应该是动态加载的&#xff0c;源码中搜不到该链接 然后就去看看是不是某…

matlab的s-function模块使用说明

MATLAB 中的 S-Function&#xff08;System Function&#xff09;模块是一个非常强大的工具&#xff0c;可以让你自定义 Simulink 模型中的功能&#xff0c;或者将特定的算法和逻辑以编程方式嵌入到 Simulink 中。通过 S-Function&#xff0c;你可以将 MATLAB 代码、C 语言代码…

社区医疗管理系统基于Spring Boot SSM

目录 一、市场现状与发展趋势 二、功能描述 三、技术分析 四、需求分析 2.1社区居民需求 2.2医护人员需求 2.3管理人员需求 社区医疗管理系统是针对社区医疗卫生机构设计的一套综合性医疗信息管理解决方案&#xff0c;旨在通过信息化手段提升医疗服务效率与质量&#xf…

高级java每日一道面试题-2025年3月05日-微服务篇[Eureka篇]-Eureka在微服务架构中的角色?

如果有遗漏,评论区告诉我进行补充 面试官: Eureka在微服务架构中的角色? 我回答: 在微服务架构中&#xff0c;Eureka作为Netflix开源的服务发现组件&#xff0c;在解决服务间通信的寻址问题方面扮演着至关重要的角色。以下是结合提供的内容对Eureka在微服务架构中的角色进行…

苍穹外卖-WebSocket使用的前置条件

第一步&#xff1a; 直接使用websocket.html页面作为WebSocket客户端 这里不用理会 第二步&#xff1a; 导入WebSocket的maven坐标 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</arti…