Fork me on GitHub
代码改变世界

随笔分类 -  C#

C# 泛型约束 new() 你必须要知道的事

2020-10-15 00:18 by 沉睡的木木夕, 8087 阅读, 收藏, 编辑
摘要: C# 泛型约束 new() 你必须要知道的事 注意:本文不会讲泛型如何使用,关于泛型的概念和泛型约束的使用请移步谷歌。 本文要讲的是关于泛型约束无参构造函数 new 的一些底层细节和注意事项。写这篇文章的原因也是因为看到 github 上,以及其他地方看到的代码都是那么写的,而我一查相关的资料,发现 阅读全文

一文带你了解 C# DLR 的世界

2020-02-20 23:17 by 沉睡的木木夕, 3637 阅读, 收藏, 编辑
摘要: 一文带你了解 C# DLR 的世界 在很久之前,我写了一片文章dynamic结合匿名类型 匿名对象传参,里面我以为DLR内部是用反射实现的。因为那时候是心中想当然的认为只有反射能够在运行时解析对象的成员信息并调用成员方法。后来也是因为其他的事一直都没有回过头来把这一节知识给补上,正所谓亡羊补牢,让我 阅读全文

如何重构我们以前写的垃圾代码——观察者模式

2020-02-12 14:48 by 沉睡的木木夕, 752 阅读, 收藏, 编辑
摘要: 如何重构我们以前写的垃圾代码——观察者模式 首先来看下 GoF 对观察者模式的定义: 多个对象间存在一对多关系,当一个对象发生改变时,把这种改变通知给其他多个对象,从而影响其他对象的行为 就是说当一个对象要发生变化时,要通知其他多个对象同时要发生相应的变化的行为。 从这句定义上来看,重点在于两个“对 阅读全文

C# 中 ConfigureAwait 相关答疑FAQ

2020-01-18 22:06 by 沉睡的木木夕, 4993 阅读, 收藏, 编辑
摘要: C# 中 ConfigureAwait 相关答疑FAQ 在前段时间经常看到园子里有一些文章讨论到 ConfigureAwait,刚好今天在微软官方博客看到了 Stephen Toub 前不久的一篇答疑 ConfigureAwait 的一篇文章,想翻译过来。 原文地址:https://devblogs 阅读全文

async-await 线程分析

2020-01-15 00:55 by 沉睡的木木夕, 873 阅读, 收藏, 编辑
摘要: 这里没有线程 原文地址: "https://blog.stephencleary.com/2013/11/there is no thread.html" 前言 我是在看 C 8.0 新特性异步流时在评论里看到这篇文章的,阅读之后发现这篇文章干货满满,作者解释的非常清晰,里面的本质分析内容在《CLR 阅读全文

建造者模式(Builder)——从组装电脑开始

2020-01-06 01:01 by 沉睡的木木夕, 1310 阅读, 收藏, 编辑
摘要: 建造者模式(Builder)——从组装电脑开始 建造者模式概括起来就是将不同独立的组件按照一定的条件组合起来构成一个相对业务完整的对象。调用者无需知道构造的过程。 我们从组装电脑开始 让我们从买组装电脑开始吧。 首先要买一个电脑,一般都有两个选择 —— 品牌电脑和组装电脑,一般人为了省事和放心都会选 阅读全文

深入理解 ValueTask

2019-09-17 09:49 by 沉睡的木木夕, 10703 阅读, 收藏, 编辑
摘要: 深入理解 ValueTask .NET Framework 4 里面的命名空间为 的 类。这个类以及它派生的 早已成为编程的主要部分,在 C 5 中的异步编程模式当作介绍了 。在这篇文章里,我会覆盖新的类 ,介绍它们在通用的使用上降低内存消耗来提高异步性能,这是非常重要的。 Task Task 有多 阅读全文

Tuple VS ValueTuple

2019-09-11 15:45 by 沉睡的木木夕, 851 阅读, 收藏, 编辑
摘要: 深入理解 c 元组与值元组(Tuple,ValueTuple) 为什么有此文章 首先要说的是我们公司内部技术框架是用 abp.vnext 框架整合而来的,我们架构师对于 abp 相关的知识都很了然于胸了。并且这个框架的确很优秀,省了我们前期大量基础工作。架构师把主要的架子搭建好了之后,把应用层与核心 阅读全文

C#8.0—非空引用类型

2019-08-22 19:19 by 沉睡的木木夕, 3299 阅读, 收藏, 编辑
摘要: 非空引用类型——C 8.0 原文地址:https://devblogs.microsoft.com/dotnet/try out nullable reference types/?utm_source=vs_developer_news&utm_medium=referral 该新增的特性最关键的 阅读全文

C#8.0——异步流(AsyncStream)

2019-08-10 23:45 by 沉睡的木木夕, 3807 阅读, 收藏, 编辑
摘要: 异步流(AsyncStream) 原文地址: "https://github.com/dotnet/roslyn/blob/master/docs/features/async streams.md" 注意:以下内容最好能根据反编译工具查看异步流相关类生成的代码效果最佳 异步流是可枚举类(Enume 阅读全文

递归,循环,尾递归

2018-11-13 10:55 by 沉睡的木木夕, 1489 阅读, 收藏, 编辑
摘要: 递归,循环,尾递归 方法递归,简而言之就是方法本身自己调用自己; 咬文嚼字的分析就是两个过程:“递“过程和”归“过程,所有的递归问题都能用地推公式标识.例如斐波拉契数列就能用递推公式表示: $$ f(n) = f(n 1) +f(n 2)其中fn(0)=1,f(1)=1 $$ 转换成代码就是 c p 阅读全文

C#7.2——编写安全高效的C#代码

2018-11-07 18:59 by 沉睡的木木夕, 1774 阅读, 收藏, 编辑
摘要: 原文地址:https://docs.microsoft.com/zh cn/dotnet/csharp/write safe efficient code?view=netcore 2.1 值类型的优势能避免堆分配。而劣势就是往往伴随的数据的拷贝。这就导致了在大量的值类型数据很难的最大化优化这些算法 阅读全文

.NET 单元测试的利剑——模拟框架Moq(简述篇)

2018-04-25 00:45 by 沉睡的木木夕, 1367 阅读, 收藏, 编辑
摘要: .NET 单元测试的利剑——模拟框架Moq 前言 这篇文章是翻译文,因为通过自己参与的项目,越发觉得单元测试的重要性,特别是当跟业务数据打交道的时候的,Moq就如雪中送炭,所以想学习这个框架,就从这篇译文开始吧,顺便提升下自己英文阅读水平吧,由于英语实在不行,借助有道翻译有时候还理解不了原文的意思。 阅读全文

微服务架构总结与日后学习导向

2018-02-08 10:52 by 沉睡的木木夕, 897 阅读, 收藏, 编辑
摘要: 基于DDD思想的微服务架构学习导向 架构学习前言 因为公司架构组决定在后续的项目系统开发中采用 “微服务架构+.netcore” 模式,这个模式直接用于实践,对于我们公司这些没有实践经验的人来说,开发难度是显而易见的。正因为如此,公司架构师才数次为我们研发人员进行架构培训,讲关于这套架构所涉及的知识 阅读全文

怎样使用表达式树生成动态查询

2018-01-11 12:11 by 沉睡的木木夕, 894 阅读, 收藏, 编辑
摘要: [翻译]怎样使用表达式树生成动态查询 在LINQ,表达式树常用于结构化查询,目标资源数据实现了 "IQueryable" . 例如,LINQ为关系型数据存储查询提供了 "IQueryable" 接口。C 编译器将这些数据源的查询编译成运行时的表达式树代码。然后查询提供程序可以遍历表达式树数据结构,并 阅读全文

如何执行表达式树

2018-01-10 09:42 by 沉睡的木木夕, 591 阅读, 收藏, 编辑
摘要: 执行表达式树 本节主要展示如何去执行表达式树。运行一个可能含有返回值或只是执行一个操作,比如方法调用的表达式树。 只有表示lambda表达式的表达式树能够被执行。它是一个 "LambdaExpression" 或 "Expression" 类型。为了执行这些表达式树,调用 "Compile" 方法来 阅读全文

表达式树(Expression Trees)

2018-01-08 19:00 by 沉睡的木木夕, 821 阅读, 收藏, 编辑
摘要: [翻译]表达式树(Expression Trees) 原文地址:https://docs.microsoft.com/en us/dotnet/csharp/programming guide/concepts/expression trees/index 表达式树展示的是代码的树形结构,每一个节点 阅读全文

ABP的依赖注入

2017-12-29 12:54 by 沉睡的木木夕, 1329 阅读, 收藏, 编辑
摘要: [TOC] 说说ABP的依赖注入 上篇 "abp运行机制分析" 分析了ABP在启动时,都做了那些事;这篇我们来说说ABP的最核心的一部分:依赖注入(DependencyInjection),以下简称DI; DI的概念我就不说了,关键字出来的资料非常多了,这里就不说了,这里主要讨论的是ABP是如何做到 阅读全文

NPOI导出Excel及使用问题

2017-12-28 12:43 by 沉睡的木木夕, 2023 阅读, 收藏, 编辑
摘要: NPOI导出Excel及使用问题 因为最近公司质管部门提出了一个统计报表的需求:要求导出一个2016及2017年度深圳区域的所有供应商的费用成本计算——一个22列的Excel表,其中还包括多列的合并单元格;说实话,统计报表功能其实我还是很少涉及的,以前都是直接用DataTable+输出流导出Exce 阅读全文

关于并发的那些坑儿

2016-10-20 19:03 by 沉睡的木木夕, 235 阅读, 收藏, 编辑
摘要: 1. 说一些并发编程的那些话 一说到并发,脑子首先冲出来的是啥?复杂,高难度,难调试... 总的来说就是——高逼格(逃: 的确,并发编程的确不是那么简单的事,初级程序员基本上都接触不到并发,更何况是编程了;但是,只要你有心并且耐心学习下去,你就会发现,并发编程也不是遥不可及的! 我在学习并发相关的知 阅读全文