摘要:
用 C# 写一个 .NET 垃圾回收器(二) 在第一部分中,我们准备了项目,并修复了由 NativeAOT 工具链引起的初始化问题。在本部分,我们将开始实现自己的 GC(垃圾回收器)。目前的目标是构建一个尽可能简单的 GC,使其能够运行基本的 .NET 应用程序。这个 GC 只会进行内存分配,而不会 阅读全文
随笔分类 - C#
【翻译】实现 Blocked Floyd-Warshall 用于解决所有对最短路径问题 C# 实现
2024-09-29 11:13 by 沉睡的木木夕, 1090 阅读, 收藏,
摘要:
介绍 在之前的帖子中,我们实现了Floyd-Warshall(弗洛伊德-沃沙尔算法)(四种变体)以及路由重建算法。在这些帖子中,我们探讨了所有对最短路径问题的基本概念、内存中的数据表示、并行性、向量化以及如何将算法调整为适应数据特性。 在本帖中,我们将继续我们的旅程,探索一种更高效的方法来解决所有对 阅读全文
C# 泛型约束 new() 你必须要知道的事
2020-10-15 00:18 by 沉睡的木木夕, 8899 阅读, 收藏,
摘要:
C# 泛型约束 new() 你必须要知道的事 注意:本文不会讲泛型如何使用,关于泛型的概念和泛型约束的使用请移步谷歌。 本文要讲的是关于泛型约束无参构造函数 new 的一些底层细节和注意事项。写这篇文章的原因也是因为看到 github 上,以及其他地方看到的代码都是那么写的,而我一查相关的资料,发现 阅读全文
一文带你了解 C# DLR 的世界
2020-02-20 23:17 by 沉睡的木木夕, 3930 阅读, 收藏,
摘要:
一文带你了解 C# DLR 的世界 在很久之前,我写了一片文章dynamic结合匿名类型 匿名对象传参,里面我以为DLR内部是用反射实现的。因为那时候是心中想当然的认为只有反射能够在运行时解析对象的成员信息并调用成员方法。后来也是因为其他的事一直都没有回过头来把这一节知识给补上,正所谓亡羊补牢,让我 阅读全文
如何重构我们以前写的垃圾代码——观察者模式
2020-02-12 14:48 by 沉睡的木木夕, 818 阅读, 收藏,
摘要:
如何重构我们以前写的垃圾代码——观察者模式 首先来看下 GoF 对观察者模式的定义: 多个对象间存在一对多关系,当一个对象发生改变时,把这种改变通知给其他多个对象,从而影响其他对象的行为 就是说当一个对象要发生变化时,要通知其他多个对象同时要发生相应的变化的行为。 从这句定义上来看,重点在于两个“对 阅读全文
C# 中 ConfigureAwait 相关答疑FAQ
2020-01-18 22:06 by 沉睡的木木夕, 5224 阅读, 收藏,
摘要:
C# 中 ConfigureAwait 相关答疑FAQ 在前段时间经常看到园子里有一些文章讨论到 ConfigureAwait,刚好今天在微软官方博客看到了 Stephen Toub 前不久的一篇答疑 ConfigureAwait 的一篇文章,想翻译过来。 原文地址:https://devblogs 阅读全文
async-await 线程分析
2020-01-15 00:55 by 沉睡的木木夕, 924 阅读, 收藏,
摘要:
这里没有线程 原文地址: "https://blog.stephencleary.com/2013/11/there is no thread.html" 前言 我是在看 C 8.0 新特性异步流时在评论里看到这篇文章的,阅读之后发现这篇文章干货满满,作者解释的非常清晰,里面的本质分析内容在《CLR 阅读全文
建造者模式(Builder)——从组装电脑开始
2020-01-06 01:01 by 沉睡的木木夕, 1442 阅读, 收藏,
摘要:
建造者模式(Builder)——从组装电脑开始 建造者模式概括起来就是将不同独立的组件按照一定的条件组合起来构成一个相对业务完整的对象。调用者无需知道构造的过程。 我们从组装电脑开始 让我们从买组装电脑开始吧。 首先要买一个电脑,一般都有两个选择 —— 品牌电脑和组装电脑,一般人为了省事和放心都会选 阅读全文
深入理解 ValueTask
2019-09-17 09:49 by 沉睡的木木夕, 11774 阅读, 收藏,
摘要:
深入理解 ValueTask .NET Framework 4 里面的命名空间为 的 类。这个类以及它派生的 早已成为编程的主要部分,在 C 5 中的异步编程模式当作介绍了 。在这篇文章里,我会覆盖新的类 ,介绍它们在通用的使用上降低内存消耗来提高异步性能,这是非常重要的。 Task Task 有多 阅读全文
Tuple VS ValueTuple
2019-09-11 15:45 by 沉睡的木木夕, 979 阅读, 收藏,
摘要:
深入理解 c 元组与值元组(Tuple,ValueTuple) 为什么有此文章 首先要说的是我们公司内部技术框架是用 abp.vnext 框架整合而来的,我们架构师对于 abp 相关的知识都很了然于胸了。并且这个框架的确很优秀,省了我们前期大量基础工作。架构师把主要的架子搭建好了之后,把应用层与核心 阅读全文
C#8.0—非空引用类型
2019-08-22 19:19 by 沉睡的木木夕, 3947 阅读, 收藏,
摘要:
非空引用类型——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 沉睡的木木夕, 4157 阅读, 收藏,
摘要:
异步流(AsyncStream) 原文地址: "https://github.com/dotnet/roslyn/blob/master/docs/features/async streams.md" 注意:以下内容最好能根据反编译工具查看异步流相关类生成的代码效果最佳 异步流是可枚举类(Enume 阅读全文
递归,循环,尾递归
2018-11-13 10:55 by 沉睡的木木夕, 1620 阅读, 收藏,
摘要:
递归,循环,尾递归 方法递归,简而言之就是方法本身自己调用自己; 咬文嚼字的分析就是两个过程:“递“过程和”归“过程,所有的递归问题都能用地推公式标识.例如斐波拉契数列就能用递推公式表示: $$ 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 沉睡的木木夕, 1868 阅读, 收藏,
摘要:
原文地址:https://docs.microsoft.com/zh cn/dotnet/csharp/write safe efficient code?view=netcore 2.1 值类型的优势能避免堆分配。而劣势就是往往伴随的数据的拷贝。这就导致了在大量的值类型数据很难的最大化优化这些算法 阅读全文
.NET 单元测试的利剑——模拟框架Moq(简述篇)
2018-04-25 00:45 by 沉睡的木木夕, 1517 阅读, 收藏,
摘要:
.NET 单元测试的利剑——模拟框架Moq 前言 这篇文章是翻译文,因为通过自己参与的项目,越发觉得单元测试的重要性,特别是当跟业务数据打交道的时候的,Moq就如雪中送炭,所以想学习这个框架,就从这篇译文开始吧,顺便提升下自己英文阅读水平吧,由于英语实在不行,借助有道翻译有时候还理解不了原文的意思。 阅读全文
微服务架构总结与日后学习导向
2018-02-08 10:52 by 沉睡的木木夕, 936 阅读, 收藏,
摘要:
基于DDD思想的微服务架构学习导向 架构学习前言 因为公司架构组决定在后续的项目系统开发中采用 “微服务架构+.netcore” 模式,这个模式直接用于实践,对于我们公司这些没有实践经验的人来说,开发难度是显而易见的。正因为如此,公司架构师才数次为我们研发人员进行架构培训,讲关于这套架构所涉及的知识 阅读全文
怎样使用表达式树生成动态查询
2018-01-11 12:11 by 沉睡的木木夕, 951 阅读, 收藏,
摘要:
[翻译]怎样使用表达式树生成动态查询 在LINQ,表达式树常用于结构化查询,目标资源数据实现了 "IQueryable" . 例如,LINQ为关系型数据存储查询提供了 "IQueryable" 接口。C 编译器将这些数据源的查询编译成运行时的表达式树代码。然后查询提供程序可以遍历表达式树数据结构,并 阅读全文
如何执行表达式树
2018-01-10 09:42 by 沉睡的木木夕, 615 阅读, 收藏,
摘要:
执行表达式树 本节主要展示如何去执行表达式树。运行一个可能含有返回值或只是执行一个操作,比如方法调用的表达式树。 只有表示lambda表达式的表达式树能够被执行。它是一个 "LambdaExpression" 或 "Expression" 类型。为了执行这些表达式树,调用 "Compile" 方法来 阅读全文
表达式树(Expression Trees)
2018-01-08 19:00 by 沉睡的木木夕, 920 阅读, 收藏,
摘要:
[翻译]表达式树(Expression Trees) 原文地址:https://docs.microsoft.com/en us/dotnet/csharp/programming guide/concepts/expression trees/index 表达式树展示的是代码的树形结构,每一个节点 阅读全文

浙公网安备 33010602011771号