本人博客已迁移至:https://z2h.cn

精致码农 • 王亮

Be humble, communicate clearly, and respect others.

本人博客已迁移至: z2h.cn
(博客园的文章图片均已失效)

随笔分类 -  [01] .NET

摘要:C# 语言一贯秉承简洁优美的宗旨,每次升级都会带来一些语法糖,让我们可以使代码变得更简洁。本文分享两个使用 C# 9.0 提升 if 语句美感的技巧示例。 使用属性模式代替 IsNullOrEmpty 在任何你使用 IsNullOrEmpty 的时候,可以考虑这样替换: string? hello 阅读全文
posted @ 2020-11-06 08:40 精致码农 阅读(8280) 评论(47) 推荐(54) 编辑
摘要:要理解 C# 中的 volatile 关键字,就要先知道编译器背后的一个基本优化原理。比如对于下面这段代码: public class Example { public int x; public void DoWork() { x = 5; var y = x + 10; Debug.WriteL 阅读全文
posted @ 2020-10-28 08:49 精致码农 阅读(4203) 评论(23) 推荐(38) 编辑
摘要:原文:http://dwz.win/ThX 作者:Richard 翻译:精致码农-王亮 说明:本译文舍弃了少许我实在不知道如何翻译但又不是很重要的语句。 今天(10月13日)我们发布了 .NET 5.0 候选版本 2(RC2),它是 11 月 .NET 5.0 正式版发布前的最后一个 RC 版本。R 阅读全文
posted @ 2020-10-16 08:54 精致码农 阅读(4838) 评论(13) 推荐(31) 编辑
摘要:作者:Richard 翻译:精致码农-王亮 原文:http://dwz.win/Q4h 自从 .NET 5 宣贯以来,很多人都在问这对 .NET Standard 意味着什么,它是否仍然重要。在这篇文章中,我将解释 .NET 5 是如何改进代码共用并取代 .NET Standard 的,我还将介绍什 阅读全文
posted @ 2020-10-13 08:32 精致码农 阅读(5859) 评论(16) 推荐(57) 编辑
摘要:数据标注(Data Annotation)是类或类成员添加上下文信息的一种方式,在 C# 通常用特性(Attribute)类来描述。它的用途主要可以分为下面这三类: 验证 Validation:向数据添加验证规则 显示 Display:指定数据如何呈现给用户 模型 Modeling:添加关于用法和与 阅读全文
posted @ 2020-10-09 10:27 精致码农 阅读(3313) 评论(3) 推荐(16) 编辑
摘要:大家好,今天分享一些实用的 VS 技巧,而这些技巧我发现很多人都不知道。因为我经常在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS “骚”操作,他们会好奇地问:你是怎么做到的?有时候你知道一些别人不知道的小技巧便可以让你显得更专业。 PS:本文所有示例演示均基于 VS 阅读全文
posted @ 2020-09-24 08:51 精致码农 阅读(16344) 评论(57) 推荐(137) 编辑
摘要:.NET 和大多数有二十年历史的技术一样,有很多历史遗留问题,特别是在产品命名和版本方面:.NET Framework, .NET Compact Framework, Silverlight, .NET Micro Framework, .NET Portable Class Libraries, .NET for Windows Store, .NET Native, .NET Core, .NET Standard 等等,这还不包括 Mono 系的产品。虽然 .NET 的这种演变是情有可原的,但它创造了一个巨大的学习成本:不计其数的概念。如果你是 .NET 的新手,你会从哪里开始?最新技术栈是什么? 阅读全文
posted @ 2020-09-23 08:46 精致码农 阅读(5850) 评论(6) 推荐(13) 编辑
摘要:原文:http://dwz.win/Qf8 作者:Richard 翻译:精致码农-王亮 说明:本文有不少超链接,由于微信公众号和头条平台外链会被剔除 URL 地址,所以原来本是超链接的内容会显示为纯文本,如果你需要这些信息可以移步到我的知乎和博客园阅读(搜索精致码农可找到我)。 今天我们发布了 .N 阅读全文
posted @ 2020-09-16 07:45 精致码农 阅读(5380) 评论(18) 推荐(51) 编辑
摘要:大家好,这是 [C#.NET 拾遗补漏] 系列的第 08 篇文章,今天讲 C# 强大的 LINQ 查询。LINQ 是我最喜欢的 C# 语言特性之一。 LINQ 是 Language INtegrated Query 单词的首字母缩写,翻译过来是语言集成查询。它为查询跨各种数据源和格式的数据提供了一致 阅读全文
posted @ 2020-08-31 08:36 精致码农 阅读(15407) 评论(34) 推荐(126) 编辑
摘要:大家好,这是 [C#.NET 拾遗补漏] 系列的第 07 篇文章。 在 C# 中,大多数方法都是通过 return 语句立即把程序的控制权交回给调用者,同时也会把方法内的本地资源释放掉。而包含 yield 语句的方法则允许在依次返回多个值给调用者的期间保留本地资源,等所有值都返回结束时再释放掉本来资 阅读全文
posted @ 2020-08-11 08:56 精致码农 阅读(1253) 评论(2) 推荐(10) 编辑
摘要:大家好,这是【C#.NET 拾遗补漏】专辑的第 06 篇文章。今天讲讲大家熟悉的单例模式。 单例模式大概是所有设计模式中最简单的一种,如果在面试时被问及熟悉哪些设计模式,你可能第一个答的就是单例模式。 单例模式的实现分为两种:饿汉式和懒汉式。前者是在静态构造函数执行时就立即实例化,后者是在程序执行过 阅读全文
posted @ 2020-07-29 19:39 精致码农 阅读(2514) 评论(3) 推荐(18) 编辑
摘要:原文:https://bit.ly/2Cy3J5f 作者:Jon P Smith 翻译:王亮 声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的。其中可能会去除一些本人实在不知道如何组织但又不影响理解的句子。 这篇文章是关于如何使用 EF Core 实现软删除的,即表面上删除了数据,但 阅读全文
posted @ 2020-07-22 08:44 精致码农 阅读(5507) 评论(11) 推荐(46) 编辑
摘要:阅读本文大概需要 9 分钟。 大家好,这是 .NET 开源项目 StreamJsonRpc 介绍的最后一篇。上篇介绍了一些预备知识,包括 JSON-RPC 协议介绍,StreamJsonRpc 是一个实现了 JSON-RPC 协议的库,它基于 Stream、WebSocket 和自定义的全双工管道传 阅读全文
posted @ 2020-07-16 08:40 精致码农 阅读(2490) 评论(5) 推荐(16) 编辑
摘要:阅读本文大概需要 11 分钟。 上一篇介绍了一些预备知识,包括 JSON-RPC 介绍和实现了 JSON-RPC 的 StreamJsonRpc 介绍,讲到了 StreamJsonRpc 可以通过 .NET 的 Stream 类和 WebSocket 类实现 JSON-RPC 协议的通信。本篇就先选 阅读全文
posted @ 2020-07-06 10:01 精致码农 阅读(3961) 评论(10) 推荐(29) 编辑
摘要:StreamJsonRpc 是一个实现了 JSON-RPC 通信协议的开源 .NET 库,在介绍 StreamJsonRpc 之前,我们先来了解一下 JSON-RPC。 JSON-RPC 介绍 JSON-RPC 是一个无状态且轻量级的远程过程调用(RPC)协议,其使用 JSON(RFC 4627)作 阅读全文
posted @ 2020-07-04 08:47 精致码农 阅读(4093) 评论(6) 推荐(14) 编辑
摘要:大家好,今天分享几个我知道的实用 VS 技巧,而这些技巧我发现很多人都不知道。因为我经常在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS “骚”操作,他们会好奇地问:你是怎么做到的?这给我的感觉,有时候你知道一些别人不知道的小技巧便可以让你显得更专业。 PS:本文所有 阅读全文
posted @ 2020-07-01 08:57 精致码农 阅读(3578) 评论(9) 推荐(16) 编辑
摘要:阅读本文大概需要不到 1 分钟。 大家好,这是 C# 9.0 新特性短系列的第 5 篇文章。 弃元(Discards) 是在 C# 7.0 的时候开始支持的,它是一种人为丢弃不使用的临时虚拟变量。语法上它是用来赋值的,但它却不被分配存储空间,即没有值,所以不能从中读取值。弃元用 _(下划线) 表示, 阅读全文
posted @ 2020-06-30 08:51 精致码农 阅读(2654) 评论(4) 推荐(6) 编辑
摘要:阅读本文大概需要 1.8 分钟。 前天发表的一篇文章,标题是:“面试官:你刚说你喜欢研究新技术,那么请说说你对 Blazor 的了解”。确实,这篇文章有标题党的味道,如果因此给部分童鞋带来不适,我在这先真诚地给大家道个歉! 这篇文章同步发表到博客园后,评论热闹了,其中“怼”文章是标题党的不在少数。我 阅读全文
posted @ 2020-06-27 13:14 精致码农 阅读(2712) 评论(49) 推荐(23) 编辑
摘要:阅读本文大概需要 1.5 分钟。 最近在几个微信 .NET 交流群里大家讨论比较频繁的话题就是这几天自己的面试经历。 面试官:“你刚说你喜欢研究新技术,那么你对 Blazor 了解多少?”。 作为一位专注于 .NET 开发的软件工程师,你好意思说你对 Blazor 一点也不解吗?.NET 新技术也就 阅读全文
posted @ 2020-06-25 22:30 精致码农 阅读(2488) 评论(21) 推荐(11) 编辑
摘要:阅读本文大概需要 2 分钟。 熟悉函数式编程的童鞋一定对“只读”这个词不陌生。为了保证代码块自身的“纯洁”,函数式编程是不能随便“弄脏”外来事物(参数、变量等)的,所以“只读”对函数式编程非常重要。 为了丰富 C# 对函数式编程支持,较新的 C# 版本引入了一些很有用的新特性。比如 C# 8 中就对 阅读全文
posted @ 2020-06-22 09:06 精致码农 阅读(3127) 评论(5) 推荐(12) 编辑