摘要: Nuget Microsoft.Extensions.ObjectPool 使用对象池的好处 减少初始化/资源分配,提高性能。这一条与线程池同理,有些对象的初始化或资源分配耗时长,复用这些对象减少初始化和资源分配。比如:我有一个执行耗时约500毫秒,内存空间 2KB的任务为此创建一个新线程异步执行, 阅读全文
posted @ 2023-05-28 15:27 欲东 阅读(978) 评论(5) 推荐(6) 编辑
摘要: 1)劣质的代码会带来什么后果? GPT回答: 可维护性降低:代码过于复杂、难以理解、难以修改,导致维护成本增加,代码质量更加恶化。 可靠性降低:错误容易发生,很难找到并修复,因为代码模糊、逻辑混乱,并且缺乏必要的测试。 可扩展性低下:由于代码的结构和逻辑复杂,无法添加新的功能或特性,开发成本和时间增 阅读全文
posted @ 2023-05-18 11:43 欲东 阅读(91) 评论(0) 推荐(1) 编辑
摘要: 【.NET】C#/.NET新建项目sln,增加src和test文件夹问题和解决方案 阅读全文
posted @ 2023-05-17 15:00 欲东 阅读(306) 评论(0) 推荐(1) 编辑
摘要: ​ 目录 简介 继承关系 聚合关系 组合关系 关联关系 依赖关系 总结 简介 面向对象程序设计中,要实现复杂的模块化系统,需要将系统划分为多个对象并组织它们之间的关系,这就涉及到常说的面向对象五大依赖关系。这五种依赖关系分别是:继承、聚合、组合、关联和依赖。本文将逐一介绍这五种依赖关系。 继承关系 阅读全文
posted @ 2023-05-08 11:33 欲东 阅读(625) 评论(0) 推荐(3) 编辑
摘要: ​ 在.NET中,返回类型为 Task<T> 的方法并不一定要标记为 async。这是因为 async 关键字只是用来告诉编译器该方法中包含异步操作,并且可以使用 await 和其他异步特性(如 Task.WhenAll)来等待异步操作完成。 如果一个方法中没有使用 await 或者其他异步特性,但 阅读全文
posted @ 2023-04-25 15:25 欲东 阅读(656) 评论(2) 推荐(5) 编辑
摘要: 目录 1. 输入迭代器(Input Iterator): 2. 输出迭代器(Output Iterator): 3. 前向迭代器(Forward Iterator): 4. 双向迭代器(Bidirectional Iterator): 5. 随机访问迭代器(Random Access Iterato 阅读全文
posted @ 2023-04-24 15:43 欲东 阅读(213) 评论(0) 推荐(0) 编辑
摘要: ​ 简介 当下的.Net新版本引进了几种新特性,包括全局命名空间引用、可空引用类型和顶级语句。这些特性在一定程度上改善了 .NET 平台的开发效率, 对于短小精干的小程序,这些新的特性无疑可以把开发效率提高到新的高度。 正文 全局引用命名空间 在之前的版本中,如果想在整个项目中使用同一个命名空间中的 阅读全文
posted @ 2023-04-23 12:13 欲东 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 目录 什么是位运算? 位运算技巧 1. 判断奇偶性 2. 交换两个数 3. 判断一个数是否是2的幂次方 4. 取绝对值 5. 计算平均数 结论 位运算技巧是计算机科学中非常重要的一部分,它可以用来解决很多实际问题。在本篇博客中,我们将介绍一些常见的位运算技巧,以及它们在实际应用中的使用。 什么是位运 阅读全文
posted @ 2023-04-21 16:22 欲东 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 在C++中,++i被认为是一种原子性操作,即不可分割的、不可中断的整体。它能够确保对变量的修改完整且正确,从而避免了数据竞争等问题,提高了程序的并发性和可靠性。然而,有些人可能会将原子性和线程安全混淆,认为一个原子性操作就一定是线程安全的。实际上,这种想法是不正确的。 原子性和线程安全是两个不同但相 阅读全文
posted @ 2023-04-14 11:18 欲东 阅读(165) 评论(0) 推荐(0) 编辑