自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C#模板方法模式示例代码

仅供学习参考,如有侵权联系我删除。

2025-07-24 14:45:29 182

原创 策略模式(Strategy Pattern)+ 模板方法模式(Template Method Pattern)的组合使用

策略模式(Strategy Pattern):可替换的证书处理策略模板方法模式(Template Method Pattern):父类提供默认实现或结构,子类定制行为这是一种常见的组合设计,用于提供灵活可扩展的行为策略选择统一结构规范的场景。仅供学习参考,如有侵权联系我删除。

2025-07-23 16:52:28 355

原创 记录一本设计模式的书

常用设计模式有哪些?策略设计模式

2025-07-23 09:25:42 166

原创 堆内存、栈内存、内存地址

对比项堆(Heap)栈(Stack)管理方式手动或自动(GC)自动释放存储内容引用类型对象、数组值类型变量、函数调用上下文分配速度慢快生命周期程序控制/GC回收方法调用期间内存大小较大较小值类型在栈,引用类型在堆(值在栈上,引用在堆上)(有些结构体情况略复杂,但大体如此)。仅供学习参考,如有侵权联系我删除。

2025-07-15 16:05:52 239

原创 C# 结构体 和 类 的区别

C#中结构体(struct)是值类型,赋值和传参时复制值本身。结构体适合表示小型简单数据对象(如坐标、颜色),存储在堆栈上,性能较好。与类不同,结构体不支持继承,默认构造函数不可自定义。结构体作为方法参数时传递副本,需使用ref修饰才能传引用修改原值。类(class)是引用类型,存储在堆上,支持继承和自定义构造函数。结构体适用于不需要继承的小型数据对象,类适合更复杂的对象建模。

2025-07-11 10:02:53 243

原创 Mark一个Json在线解析工具

https://www.x-json.cn/

2025-04-02 17:00:33 122

原创 Lambda 表达式和匿名函数

Lambda 表达式 - Lambda 表达式和匿名函数 - C# | Microsoft Learn

2024-01-31 13:25:37 459

原创 泛型约束Where T

类型参数约束 - C# 编程指南 - C# | Microsoft Learn

2024-01-31 10:10:19 498

原创 C#观察者模式示例代码

仅供学习参考,如有侵权联系我删除。

2025-07-25 14:13:37 182

原创 C#装箱和取消装箱(拆箱)

装箱和取消装箱 - C# | Microsoft Learn

2025-07-15 15:10:26 106

原创 标记两个在线编程网站

仅供学习参考。如有侵权联系我删除。

2025-07-10 09:15:39 155

原创 标记两个Decode JWT的网址

仅供学习参考,如有侵权联系我删除。

2025-07-02 10:59:21 210

原创 Github结合Sonarcloud代码扫描

GitHub和Sonarcloud结合可以实现,效果如下,GitHub账号登录sonar,点击分析新项目-如果找不到想要分析的repo就点下面核对你的GitHub配置。做完这里面的两个步骤,1,添加secret 2,新建build.yml。然后下次再提交代码就自动触发扫描。点Create project,就会跳转到新建的Project页。保存后跳转回sonar就能看到新加的repo。验证登录后跳转到这一页。如有侵权联系我删除。点击这里可以添加新的仓储去扫描。继续勾选github。

2025-06-05 13:52:34 162

原创 C# 下 using 块的作用 + VS2022 下 using 语法糖怎样工作

using本质是语法糖,不能 F12 看到它本身的实现。它会在编译阶段转换为并调用Dispose()。你可以通过这种在线工具来看到编译器“反糖”的结果(即:C# 源代码编译后生成的 IL 或自动展开的样子)。

2025-04-22 17:02:50 317

原创 .NET仓储层在 using 块中创建 SqlSugarClient 的风险

情况建议做法想要返回不要在方法内部using释放连接想在方法里执行查询使用ToList()立即执行,返回结果想安全复用查询表达式由调用方提供,连接生命周期在外层控制仅供学习参考。

2025-04-22 16:53:19 532

原创 C#抽象类和虚方法的作用是什么?

不能直接实例化,只能被继承。用来定义一套基础框架和规范,强制子类必须实现某些方法(抽象方法)。可用来封装一些共通的逻辑,减少代码重复。表示这个方法可以被子类重写(override)。默认给了一套实现,你可以用,也可以替换掉。避免了子类必须每次都写重复代码(子类用基类实现就好)总结:抽象类 + 虚方法组合使用的好处是:提供一个统一的接口和逻辑框架允许子类在不破坏主结构的情况下实现个性化逻辑(比如加缓存、记录日志)✅ 示例代码:调用 🎯 实战目标构建一个 基于接口 + 抽象类 +

2025-04-22 14:26:21 583

原创 C#表达式树

生成表达式树 - C# | Microsoft Learn

2025-04-21 18:02:59 110

原创 SQLSugar单列查询Select和条件查询Where的封装

基于泛型的selectExpression whereExpression orderbyExpression的lambda表达式封装

2025-04-02 17:12:41 663

原创 VUE3的持久化存储

Q2:authState(定义如下)这个变量是响应式的对象,登陆后存储user信息和登陆状态,但是在刷新页面后,信息丢失,如果用localstorge 涉及到解构,也会导致对象失去响应式。,因为 Vue 的响应式状态是存储在内存中的,一旦页面刷新或跳转到其他页面,JavaScript 代码会重新执行,所有在。Q:vue3响应式对象 在刷新页面或者redirect后,响应式变量的值会丢失吗?来管理全局状态,并支持持久化存储。A:是的,在 Vue 3 中,如果是全局状态管理,建议使用。

2025-03-20 09:49:05 553

原创 VUE3+.NET8实现AzureAD SSO认证

仅供学习参考,如有侵权联系我删除。

2025-03-18 16:58:50 127

原创 .NET下根据文件的哈希值筛选重复文件

先获取所有文件的大小,并按照大小group by,这样相同大小的文件就会在一组。文件大小不同一定不属于相同文件,文件大小相同有可能属于相同文件,也有可能是不同的文件刚好大小相等。红框和黄框内的虽然字节数是一样的,相同大小会group by到一组。针对每个大小组,计算组内每个文件的哈希值,把具有相同哈希值的文件存到 hashGroups 字典里。所以,一个 1GB 大小的文件,其哈希值的大小取决于选择的哈希算法,而不是文件自身的体积大小。文件哈希值的大小与文件本身的大小无关,而是由所使用的哈希算法决定。

2025-03-13 16:50:08 831

原创 vuejs相关链接和格式化插件推荐

右键选择Prettier作为格式化工具,el-tree组件可以分好多行显示,比vue - offical好用。

2025-03-07 11:27:34 258

原创 VScode对比代码功能

Ctrl+Shift+P选择第一行Compare,当前文件就和选中文件对比改动了。

2024-06-13 17:49:04 3808

原创 Content-Security-Policy

Mark,有空学习一下。

2024-04-17 10:38:19 926

原创 C# TryGetValue和TryParse结合out var用法

TryGetValue() 作为获取value的方法并且做判断条件 取到了返回true并且赋值给 workStudyCourseTypeName 否则返回false。需求:如果是属于dictionary那几种情况 则输出 Hello + Value。仅供学习参考,如有侵权联系我删除。

2024-04-09 10:07:02 1885

原创 如何在pgAdmin中用替换的值更新jsonb列?(二)

既存jsonb - text,取text - jsonb。那么当jsonb嵌套jsonb应该怎么替换呢?像这样,类型依然是jsonb,只不过嵌套一层,JsonData:"{}",这就不得不提一下这种数据结构是怎么来的。衍生的问题,既然可已嵌套Json,那么想不显示转义符的Json在pgAdmin中方便查阅又怎么做呢?再展开看下效果,可以看见第一步骤中的json已经变成text并且被加了转义符 \"知道了嵌套Json是怎么来的以后,想写替换语句就容易了。至此,文章开头提到的嵌套Json我们就拿到了。

2024-04-03 09:51:22 628

原创 git stash代码pop stash后误删找回

使用 git stash pop 其实并没有真正地将文件删掉的,而是删除引用而已,因此我们可以使用 git fsck 命令进行找回,搭配参数--unreachable,让 git-fsck 显示出所有不可访问的对象。第三步:在git bash下执行如上命令,会得到所有stash过的文件。会以单的文件的存储方式输出到git bash here的目录下。如题,git stash了代码,点了pop stash后,revert了改动。第四步:用vs code打开文件夹并搜索代码中关键字,定位到丢失的文件。

2024-03-28 17:10:35 1367

原创 如何在pgAdmin中用替换的值更新jsonb列?

我有一个名为files的PostgreSQL表,其中包括一个名为formats的jsonb表。对于每一行,我想更新,并用other-url替换some-url。

2024-02-23 17:13:15 698

原创 C# 类型的默认值(C# 参考)

C# 类型的默认值 - C# 参考 - C# | Microsoft Learn

2024-02-20 11:31:19 754

原创 扩展方法(C# 编程指南)

扩展方法 - C# 编程指南 - C# | Microsoft Learn

2024-01-31 13:18:07 456

原创 PostgreSQL JSONB 使用入门

PostgreSQL JSONB 使用入门 - 掘金 (juejin.cn)

2024-01-16 16:52:32 385

原创 Visual Studio常用快捷键及调试操作

Ctrl+F10 运行到光标处 调试时候不用一行行按F10了Ctrl+M+M 折叠或展开当前方法Ctrl+M+O 折叠所有方法Ctrl+M+L 展开所有方法Ctrl+E+W 自动换行/取消自动换行Ctrl+U 选中文本转小写Ctrl+Shift+U 选中文本转大写Ctrl+Win+O 启动软键盘F9 光标行加断点Ctrl+Alt+B 打开断点窗口 或通过Debug -> Windows打开Call Stack 可以帮忙找到断点调用处补充:Ctrl+Shift+K 浏览器双开一个同样

2024-01-08 13:23:27 1527

原创 .NET下Http请求图片显示在页面上

.net发送https请求将返回的图片显示在页面上

2023-05-15 13:39:41 1303

原创 HTML+CSS实现页面Loading效果

HTML+CSS实现页面Loading效果

2022-08-23 14:14:04 878

原创 css下flex布局和渐变色

css下flex布局和渐变色

2022-08-10 17:54:25 371

原创 Jquery下DataTable的Reload方法

Jquery下DataTable的Reload方法

2022-08-10 17:30:46 1451

原创 JavaScript国际化 Alert框插件

JavaScript国际化

2022-08-10 17:00:47 826

原创 JavaScript下导出Export和Import引入JS方法属性

JavaScript下导出Export和Import引入JS方法属性

2022-08-01 09:34:21 906

原创 .NET下发同Outlook邮件格式以及表格的拼接

.NET下发同Outlook邮件格式以及表格的拼接

2022-07-19 16:47:51 725

原创 .NET下IN关键字下多个并列参数的参数化

.NET下IN关键字下多个并列参数的参数化

2022-07-18 18:53:31 529

空空如也

空空如也

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

TA关注的人

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