自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 用 CollectionsMarshal 优化字典读写速度

用一个**“字典里高频更新某个值”**的场景来举例,这是最容易体现价值的地方。

2026-11-04 08:15:00 287

原创 用struct替代class后,内存占用竟然更大了

本文通过性能测试对比class与struct在内存分配上的差异,发现struct因默认采用Sequential布局未进行内存对齐,导致实际占用内存更高。而class使用Auto布局可自动优化对齐,减少填充字节。通过StructLayout(LayoutKind.Auto)显式设置后,struct内存分配显著降低,甚至优于class。结论:结构体并非一定更省内存,合理布局(如Auto)至关重要。

2026-10-29 08:15:00 477

原创 项目里一堆if ContainsKey,这不是经典面试题吗

虽然大部分情况下这不会成为性能瓶颈,但是无论性能还是可读性,TryGetValue都比ContainsKey+dic[key]要更好,最近在项目里发现了一堆ContainsKey+dic[key]。但2026年了,这应该成为肌肉记忆了。于是写了一篇性能测试加强一下记忆。

2026-09-15 08:00:00 179

原创 Unity Editor实现一个比AssetDatabase.FindAssets内存和CPU都更友好的替代方案

最近在做一个unity编辑器项目,需要找到在某个路径下,名字包含“ArtPrefab”的预制体。这导致AssetDatabase.FindAssets被频繁调用,而它会返回完整的string[]= 0)源码中还用了Distinct().ToArray(),性能进一步下降。但实际上我们的需求并不需要遍历所有找到的预制体,遍历时,找到需要的预制体就可以返回了。这导致了大量没用的内存分配。if (!return;

2026-08-17 08:30:00 167

原创 Protobuf根据Varint编码优化序列化

本文总结了Protobuf编码优化建议:1)常用字段编号应小于15以减少存储空间;2)负数值应使用sint类型提高编码效率。通过C#代码示例演示了不同字段编号和数据类型对序列化结果的影响:小字段编号生成更紧凑的Tag(如编号1仅需1字节),而负数采用sint类型(如sint32)比int32节省9字节空间。文中还提供了十六进制打印方法用于验证编码结果,并附有Protobuf官方编码文档链接供参考。

2026-07-22 08:00:00 36

原创 C# 谁是短字符串拼接之王

在开发过程中,我们经常会遇到短字符串拼接的情况,例如需要打印状态信息,进度信息("20/100")等,那么多的拼接方法,哪个又好又快呢。今天写了一个benchmark看一下。

2026-07-14 08:00:00 172

原创 C# 过滤数据的三种姿势:yield return、LINQ Where、ToList 全景性能对决

C# 过滤数据的三种姿势:yield return、LINQ Where、ToList 全景性能对决

2026-07-07 08:15:00 215

原创 什么!?Unity的SetTrigger(string name)不能用了?

原因是,SetTrigger(string name)内部还会计算一次Animator.StringToHash()先说结论,Unity 尽量避免。

2026-06-05 07:45:00 250

原创 Unity 优化只读属性{get;}读取性能

属性读取] 7 ms | 单次: 7.00 ns | 倍率: 2.33x。[帧模拟-属性] 6 ms / 10000 | 倍率: 3.00x。[字段读取] 3 ms | 单次: 3.00 ns。[字段写入] 3 ms | 单次: 3.00 ns。[属性修改] 6 ms | 单次: 6.00 ns。[帧模拟-字段] 2 ms / 10000帧。

2026-06-03 08:45:00 235

原创 行为树简介

本文大致介绍了行为树是什么,适合用于复习行为树的概念,或对行为树做一个大致了解。

2026-03-11 08:00:00 335

原创 Unity有限状态机 一个支持消息调度系统的泛型状态机

推荐在项目中都建立这两个类// 一些自定义方法 }// 一些自定义方法 }// 一些自定义方法 }// 一些自定义方法 }// 一些自定义方法 } public class Bob : BaseGameEntity {get;set;} }// 一些自定义方法 } public class Bob : BaseGameEntity {get;set;} }// 一些自定义方法// 一些自定义方法 } public class Bob : BaseGameEntity {

2026-03-03 08:00:00 1292

原创 【温故】设计原则:依赖倒置原则

最近在读《敏捷软件开发 原则、模式与实践》,里面提到了几大设计原则,于是想复习下,并且用C#把文中代码重新写一遍。

2026-02-12 08:30:00 111

原创 【温故】设计原则:接口隔离原则

最近在读《敏捷软件开发 原则、模式与实践》,里面提到了几大设计原则,于是想复习下,并且用C#把文中代码重新写一遍。

2026-02-10 12:05:47 285

原创 【温故】设计原则: 里氏替换原则

最近在读《敏捷软件开发 原则、模式与实践》,里面提到了几大设计原则,于是想复习下,并且用C#把文中代码重新写一遍。

2026-02-06 08:00:00 1447

原创 【温故】设计原则: 开闭原则

最近在读《敏捷软件开发 原则、模式与实践》,里面提到了几大设计原则,于是想复习下,并且用C#把文中代码重新写一遍。

2026-02-03 08:30:00 643

原创 VS常用警告配置

【代码】VS常用警告配置。

2025-11-27 12:30:00 183

原创 去重sql 留下相同数据中id最小的数据

留下相同数据中id最小的数据。

2025-11-26 11:52:01 155

原创 跨服务器连接表

datasrc=“192.168.1.114” --要访问的服务器。@server=‘Test’,–被访问的服务器别名。–删除映射(录与链接服务器上远程登录之间的映射)‘Test’, --被访问的服务器别名。–删除远程服务器链接。‘sa’, --帐号。

2025-11-15 12:30:00 139

转载 找出所有项目引用了哪些 NuGet 包、版本号、对应项目路径,并筛选出“同一个包名但版本不同”的情况。

本文介绍了如何通过PowerShell脚本扫描解决方案中所有.csproj文件,检测NuGet包版本不一致的问题。最后以表格形式输出冲突的包名及其在不同项目中的版本号。这种方法可帮助开发者快速定位并解决依赖版本冲突问题。

2025-09-22 11:39:08 80

原创 docker 部署 redmine 挂载mysql到宿主机,以及常见问题解决

例如,建 Feature 类型 → 字段里必须填「目标版本」「预计工时」;工作流只能走「新建 → 已确认 → 实现中 → 已解决 → 已关闭」。将容器目录挂载到宿主机。D:\ProgramData\redmine-data\files 改成自己的。生成 128 位十六进制字符串(64 字节)把输出的 128 位字符串复制下来,粘贴到。记得改redmine的mysql账号密码。mysql建库和用户(密码自己改)

2025-09-16 12:15:00 348

原创 VS VSCode 常用快捷键

快捷键

2025-04-09 21:38:30 796

原创 ‘D:\Program‘ is not recognized as an internal or external command, operable program or batch file.

解决报错 : 'D:\Program' is not recognized as an internal or external command,operable program or batch file.

2025-03-27 10:43:43 678

原创 element-plus el-popover 点击其他区域关闭弹出框

使用时,也可以做到点击其他区域关闭弹出框,但是当按钮是禁用状态也会显示弹出框,这时候需要使用虚拟触发来解决。

2023-06-29 19:30:38 3655 1

原创 element和element-plus8小时时差问题解决

有很多博客的解决方案是在提交到后端接口之前调用moment的utcOffset方法手动修改8小时时差,但这样做太麻烦了。这里给出element和element-plus两个版本更优雅的解决方案。核心就是要增加属性,但是由于element和element-plus的日期格式不一致,所以大小写有所区别,大小写写错的话是没有效果的。

2023-05-26 11:04:10 1630 1

原创 SQL Server json数组字段的json字段查询

json

2023-05-21 22:26:03 1879

原创 element多选级联框,反选功能

反选

2023-05-21 22:25:11 553

原创 将逗号分割的字符串存入临时表,并用做查询条件

1.方法定义:ALTER FUNCTION [dbo].[splitIds] ( @String VARCHAR(MAX), @Delimiter VARCHAR(MAX)) RETURNS @temptable TABLE (items VARCHAR(MAX)) ASBEGIN DECLARE @idx INT=1 DECLARE @slice VARCHAR(MAX) IF LEN(@String) < 1 OR LEN(ISNULL(@Strin

2023-03-14 20:29:20 242

原创 No component for supporting the service System.IServiceProvider was found

Castle.MicroKernel.ComponentNotFoundException:“No component for supporting the service System.IServiceProvider was found”问题解决

2023-02-15 15:39:53 879

转载 ABP EF CORE 7 集成ShardingCore实现分表

ShardingCore分库分表

2022-11-27 11:44:56 1281

原创 麒麟银河Excel对应的Content-Type

Excel Content-Type

2022-11-22 20:42:05 1082

转载 ABP .NET6 使用 EF Core 7 ExecuteUpdate实现批量更新并监测生成的SQL

EF7 面向 .NET 6,因此可与 .NET 6 (LTS) 或 .NET 7 一起使用。

2022-11-21 21:04:14 1938

原创 锐浪报表,用脚本处理字段

锐浪报表,用脚本处理字段

2022-09-26 16:31:22 2595

原创 .NET CORE数据库操作超时时间全局配置

.NET CORE数据库操作超时时间全局配置

2022-09-13 10:29:49 2198

原创 Python使用xlsxwriter实现“将整个工作表打印在一页”

Python使用xlsxwriter实现“将整个工作表打印在一页”

2022-08-22 16:42:13 1343 1

原创 如何使用ABP的Profile类配置AutoMapper自定义映射

一、ABP的Profile有什么用?Profile用来编写AutoMapper的映射规则,在Profile类构造方法中编写的规则最后会配置到AutoMapper中,实现实体到DTO的自动映射。二、代码浅析1.ABP模板中,应用层的Module类有一个Initialize方法,该方法中用反射找到所有继承于Profile的类,并添加到映射配置。public override void Initialize(){ var thisAssembly = typeof(EpiApplicationM

2021-09-22 20:28:49 1594

原创 测试Linq GroupBy DateTime时间3种方式的性能表现

先说结论:按日期分组时,优先考虑用字符串方式对日期分组var result = query.GroupBy( x => x.Time.ToString("yyyy/MM/dd"), (key, models) => new Output { Date = key, Count = models.Count() });目录先说结论:

2021-07-01 11:40:09 910

原创 .NET Core 2.1下 ONLYOFFICE的回调处理程序

官方文档链接: Callback handler.二级标题三级标题四级标题五级标题六级标题

2020-09-02 09:59:47 2499

类胡闹厨房 -Code Monkey

类胡闹厨房 -Code Monkey

2025-01-08

Learn Unity DOTS! -Make An Awesome RTS -Code Monkey

Learn Unity DOTS! -Make An Awesome RTS -Code Monkey

2024-12-28

How to Make a Multiplayer Game with DOTS-Turbo Makes Games-Johnny Thompson

youtube Unity3D课程资源

2024-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除