摘要:
语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。 数据查询历来都表示为简单的字符串,没有编译时类型检查或 IntelliSense 支持。 此外,需要针对每种类型的数据源了解不同的查询语言:SQL 数据库、XML 文档、各种 Web 服务等。 借助 LINQ,查询成为 阅读全文
摘要:
本文介绍 .NET 中支持委托的类以及这些类映射到 delegate 关键字的方式。 一.定义委托类型 我们从“delegate”关键字开始,因为这是你在使用委托时会使用的主要方法。 编译器在你使用 delegate 关键字时生成的代码会映射到调用 Delegate 和 MulticastDeleg 阅读全文
摘要:
一.switch表达式 通常情况下, switch 语句在其每个 case 块中生成一个值。 借助 Switch 表达式,可以使用更简洁的表达式语 法。 只有些许重复的 case 和 break 关键字和大括号。 以下面列出彩虹颜色的枚举为例: public enum Rainbow { Red, 阅读全文
摘要:
所有枚举从 System.Enum(继承自 System.ValueType)继承。 适用于结构的所有规则也适用于枚举。 C# 程序使用 类型声明 创建新类型。 类型声明指定新类型的名称和成员。 用户可定义以下六种 C# 类型:类类型、结构类型、接口类型、枚举类型、委托类型和元组值类型。 还可以声明 阅读全文
摘要:
在我从 .NET Framework 到 .NET Core 的过渡期间,有一件事情让我很长时间都感到困惑,那就是 Runtime 运行时, 实际上 Runtime 在 .NET Framework 和 .NET Core 中具有不同的含义。 .NET Framework 运行时的历史 当有人问我们 阅读全文
摘要:
C# 中的 gRPC学习参考 Quick start | C# | gRPC 有关 gRPC for .NET 的文档,请参阅 gRPC for .NET。 https://www.grpc.io/docs/languages/csharp/dotnet/ 阅读全文
摘要:
Action<int> al = delegate (int i) { Console.WriteLine(i); }; al(3); //lambda表达式格式的匿名方法的写法 Action<int> a2 = (int i) => { Console.WriteLine(i); }; a2(66 阅读全文
摘要:
DateOnly和TimeOnly .NET 6 引入了两种期待已久的类型 - DateOnly和TimeOnly。它们表示DateTime的日期或时间部分。 // public DateOnly(int year, int month, int day) // public DateOnly(in 阅读全文
摘要:
*或缺省方法的默认值 方法返回序列的第一个元素,如果未找到任何元素,则返回默认值。在 .NET 6 中,可以重写默认值。您也可以覆盖SingleOrDefault 和 LastOrDefault方法的默认值。 List<int> list1 = new() { 1, 2, 3 }; int item 阅读全文
摘要:
Refit 是一个类型安全的 REST 开源库,是一套基于 RESTful 架构的 .NET 客户端实现,内部使用 HttpClient 类封装,可通过 Refit 更加简单安全地访问 Web API 接口,要使用 Refit 框架,只需要在项目中通过 NuGet 包安装器安装即可。 Install 阅读全文