record介绍
摘要:【C#/.NET】record介绍 目录 什么是record? 使用record record解构 record原理 结论 什么是record? record是.NET 5中的一种新特性,可以看作是一种概念上不可变的类。records可以帮助我们在C#中更容易地处理数据,同时提供了重要的功能,如对象
阅读全文
C# 版本特性
摘要:C# 版本特性一览 前言 使用 C# 作为开发语言已经 15 个年头了,受惠于 C# 的不断更新,伴随着大量的新特性与大量语法糖,让我更加容易写出简洁、高效的代码。日常中大量特性早已信手拈来,当然从未尝试过的特性更是难以尽数,但是每每回忆代码中的特性究竟是哪个版本引入的,却颇为含糊。索性简单整理记录
阅读全文
远程调试&线程检查&性能检查
摘要:vs2022的一些调试技巧——远程调试&线程检查&性能检查 visual studio一直都是.net/c#开发人员最受欢迎的编译器,除了强大的代码提示和项目模板,还拥有大量的调试工具,这一期我们介绍下code freeze阶段的一些调试技巧。包括测试环境/生产环境下的远程调试,线程调试,以及性能监
阅读全文
.net6webapi中配置Jwt实现鉴权验证
摘要:JWT(Json Web Token) jwt是一种用于身份验证的开放标准,他可以在网络之间传递信息,jwt由三部分组成:头部,载荷,签名。头部包含了令牌的类型和加密算法,载荷包含了用户的信息,签名则是对头部和载荷的加密结果。 jwt鉴权验证是指在用户登录成功后,服务器生成一个jwt令牌并返回给客户
阅读全文
ASP.NET Core对象池
摘要:【C#/.NET】使用ASP.NET Core对象池 Nuget Microsoft.Extensions.ObjectPool 使用对象池的好处 减少初始化/资源分配,提高性能。这一条与线程池同理,有些对象的初始化或资源分配耗时长,复用这些对象减少初始化和资源分配。比如:我有一个执行耗时约500毫
阅读全文
C# 手写识别方案整理
摘要:书写识别,网上的大佬们都有输出。 书写识别存在的2个问题: 直接拿官网的案例(将 Windows Ink 笔划识别为文本和形状 - Windows apps | Microsoft Learn),会发现输出准确度不高。 另外如果书写过快,词组识别也是个问题,毕竟无法准确分割字之间的笔迹。 我结合之前
阅读全文
delegate、event、EventHandler、Action、Func
摘要:彻底弄懂C#中delegate、event、EventHandler、Action、Func的使用和区别 【目录】 1 委托 2 事件-概念的引出 3 事件-关于异常 4 事件-关于异步 5 委托-Func与Action 1 委托 在.NET中定义“委托”需要用到delegate关键字,它是存有对某
阅读全文
c#动态执行字符串脚本
摘要:c#动态执行字符串脚本(优化版) 像javascript中有eval()来执行动态代码,c#中是没有的,于是自己动手丰衣足食, using System; using System.Data; using System.Configuration; using System.Text; using
阅读全文
LongRunnigTask TaskCreationOptions.LongRunning 参数
摘要:这样在 C# 使用 LongRunnigTask 是错的 Task.Factory.StartNew 有一个重载,是支持 TaskCreationOptions.LongRunning 参数来指定 Task 的特征的。但是可能在没有注意的情况下,你就使用了错误的用法。那么本文我们来简单阐述一下这个参
阅读全文
BlockingCollection
摘要:C#神器"BlockingCollection"类实现C#神仙操作 前言 如果你想玩转C# 里面多线程,工厂模式,生产者/消费者,队列等高级操作,就可以和我一起探索这个强大的线程安全提供阻塞和限制功能的C#神器类 BlockingCollection简单介绍 微软介绍地址:https://learn
阅读全文
C# 入门 Kafka
摘要:从 C# 入门 Kafka 目录 1, 搭建 Kafka 环境 安装 docker-compose 单节点 Kafka 的部署 Kafka 集群的部署 2, Kafka 概念 基本概念 关于 Kafka 脚本工具 主题管理 使用 C# 创建分区 分区与复制 生产者消费者 修改配置 3, Kafka
阅读全文
简易的延迟任务
摘要:【c#】分享一个简易的基于时间轮调度的延迟任务实现 在很多.net开发体系中开发者在面对调度作业需求的时候一般会选择三方开源成熟的作业调度框架来满足业务需求,比如Hangfire、Quartz.NET这样的框架。但是有些时候可能我们只是需要一个简易的延迟任务,这个时候引入这些框架就费力不讨好了。 最
阅读全文
PeriodicTimer 和 BackgroundService
摘要:实现 .Net 7 下的数据库定时检查 在软件开发过程中,有时候我们需要定时地检查数据库中的数据,并在发现新增数据时触发一个动作。为了实现这个需求,我们在 .Net 7 下进行一次简单的演示。 PeriodicTimer .Net 6 中新增了 PeriodicTimer 这个类,它可以用来创建一个
阅读全文
使用Async和Await可以实现多任务顺序执行且不阻塞
摘要:使用Async和Await可以实现多任务顺序执行且不阻塞 ////////////////////// 对于async和await的使用方式、作用效果不怎么理解 ?没关系,初步看这篇就够了 结论 同步还是异步,区别如下: 同步:你使用 await 修饰符去调用一个异步(async)方法(是异步方法,
阅读全文
反编译引擎和后端代码分析
摘要:Reko不仅包含核心反编译引擎和后端代码分析模块,而且还提供了用户友好的操作界面。目前,该工具提供了Windows GUI和ASP.NET后端。反编译引擎需要从前端获取用户的输入,可接受的输入为单独的可执行文件或反编译项目文件。Reko项目文件中还包含了代码文件的额外信息,来为研究人员的反编译操作或
阅读全文
数据库的负载均衡
摘要:.NET下数据库的负载均衡 相关下载: 数据库的负载均衡-示例代码(dp1-DbBalance.rar) 数据库的负载均衡-示例代码(dp1-DbBalance.rar) 支持.Net/.Net Core/.Net Framework 为了演示数据库的负载均衡(Load Balance),我们先创建
阅读全文
VS2022 开发 STM32 单片机
摘要:Visual Studio 2022 开发 STM32 单片机 - 环境搭建点亮LED灯 安装VS2022社区版软件 选择基础的功能就好 安装VisualGDB软件(CSDN资源) 按照提示一步一步安装就好 VisualGDB激活软件(CSDN资源) 将如下软件放在VisualGDB的安装目录下直接
阅读全文
Span<T> 和 Memory<T> 编写高性能代码
摘要:在 C# 中使用 Span<T> 和 Memory<T> 编写高性能代码 目录 在 C# 中使用 Span 和 Memory 编写高性能代码 .NET 中支持的内存类型 .NET Core 2.1 中新增的类型 访问连续内存: Span 和 Memory Span 介绍 C# 中的 Span Spa
阅读全文
.NET Platform Extensions是一套.Net官方的API集合
摘要:.NET Platform Extensions是一套.Net官方的API集合 什么是Microsoft.Extensions .NET Platform Extensions是一套.Net官方的API集合,提供了一些常用的编程模式和实用工具,例如依赖项注入、日志记录、缓存、Host以及配置等等。
阅读全文
SPA思想Blazor
摘要:Blazor预研与实战 背景 最近一直在搞一件事,就是熟悉Blazor,后期需要将Blazor真正运用到项目内。前期做了一些调研,包括但不限于 Blazor知识学习 组件库生态预研 与现有SPA框架做比对 与WebForm做比对 自己动手做个演示项目 最终的体验非常不错,功能全面。现有的一些SPA思
阅读全文