面向云技术架构 - 痴者工良

  • 首页
  • 工良写的电子书
    • kubernetes 教程
    • 从 C# 入门 Kafka
    • 多线程和异步
    • 动态编程-反射、特性、AOP
    • 表达式树
  • 本站文章导航
  • 隐私政策
.NET
微软 .NET 平台相关技术
.NET

C# 对象池算法

使用的类型是 结构体,如果是对象,则在创建内存块的时候,需要使用别的方式。 子所以使用块的形式而不是直接管理一个对象,是基于多个方面考虑的。 1,使用块的形式,可以一次性分配连续的内存;如果逐个分配,会导致碎片太多、每次分配都需要时间; 缺点: 1,不能扩增或减少对象数量、块大小; 2,以块的形式存[......] 继续阅读

2022年10月24日 0条评论 592点热度 3人点赞 痴者工良 阅读全文
.NET

C# 逐个解析 JSON

后面改进了对象池算法,使用结构体来存储,其性能变得非常强。 参考对象池算法:https://www.whuanle.cn/archives/20888 新版本 定义结构体存储每个字段: public struct JsonField { public string? Name {[......]继续阅读

2022年10月24日 0条评论 296点热度 1人点赞 痴者工良 阅读全文
.NET

Utf8JsonReader 和 JsonNode 解析 JSON 性能测试

数据: 格式: { "a_tttttttttttt": 1001, "b_tttttttttttt": "邱平", "c_tttttttttttt": "Nancy Lee", "d_tttttttttttt": "buqdu", "e_tttttttt[......]继续阅读

2022年10月20日 0条评论 242点热度 0人点赞 痴者工良 阅读全文
.NET

C# 高性能 Stream 处理

可复用Stream 需要安装 Microsoft.IO.RecyclableMemoryStream。 internal class StreamHandler { // Stream pool private static readonly Rec[......]继续阅读

2022年10月18日 0条评论 422点热度 0人点赞 痴者工良 阅读全文
.NET

MAUI 实现前后端分离开发

背景 最先采用的是 Maui + Blazor 开发,使用社区热度比较高的 Blazor UI 框架。 可是开发进行过程中, Maui 巨多坑,Blazor UI 框架也是巨多坑,使用 Blazor UI 写的页面和样式,过不了设计师和产品经理的是法眼。 最终决定使用原生前端结合,生成静态内容放到[......] 继续阅读

2022年10月17日 0条评论 528点热度 2人点赞 痴者工良 阅读全文
.NET

C# 检查一个枚举的值是否在另一个枚举中

bool IsDefine<T1, T2>(T2 t) where T1 : Enum where T2 : Enum { var value = Unsafe.As<T2, T1>(ref t); var array = Enum.GetValue[......]继续阅读

2022年10月13日 0条评论 226点热度 0人点赞 痴者工良 阅读全文
.NET

.NET 6 开始输出 .g.cs 文件

在项目使用分部类,如 Razor、Blazor、Wpf 等项目中,编译会生成 .g.cs 文件,但是因为出现了问题,不能编译成功,查看源代码,找不出错误,只能开始输出 .g.cs ,查看文件进行检查。 <PropertyGroup> <EmitCompilerGenerat[......]继续阅读

2022年10月13日 0条评论 208点热度 0人点赞 痴者工良 阅读全文
.NET

C# 将 JSON 转换为键值

// json => Dictionary static Dictionary<string, string> Read(string jsonData) { var reader = new Utf8Jso[......]继续阅读

2022年10月10日 0条评论 296点热度 0人点赞 痴者工良 阅读全文
.NET

C# 调用 Powershell 执行命令

private static void RunPowershellScript(string scriptFile) { ProcessStartInfo ps = new ProcessStartInfo(@"powershell.exe",scriptFile) { RedirectSt[......]继续阅读

2022年10月9日 0条评论 248点热度 0人点赞 痴者工良 阅读全文
.NET

.NET 获取资源文件的字符串

using System.Resources; var assembly = typeof(Program).Assembly; ResourceManager resourceManager = new ResourceManager("update.Prope[......]继续阅读

2022年10月8日 0条评论 258点热度 0人点赞 痴者工良 阅读全文
.NET

.NET AOT 参数

项目发布参数: dotnet publish -c Release -r win-x64 -p:PublishProfile=FolderProfile --no-self-contained dotnet publish -c Release -r win-x64 -p:PublishProfi[......]继续阅读

2022年10月8日 0条评论 510点热度 2人点赞 痴者工良 阅读全文
.NET

ASP.NET Core 如何修改 Response Stream

ASP.NET Core Response.Body 默认是 HttpResponseStream,其主要特征是只能追加写,不能读取也不能修改。 所以最根本方法是替换 HttpResponseStream。 随便设置一个中间件,或者将 HttpContext 拿出来,定义变量 context。 替[......] 继续阅读

2022年9月30日 0条评论 436点热度 0人点赞 痴者工良 阅读全文
.NET

C# 单元测试 Mock 如何获取返回结果

做单元测试的时候往往会使用 Moq 等库,对代码进行 Mock。 但是有些过程,我们希望除了 Mock 方法之外,能够在 Mock 方法中,判断传递的参数是否正确。 因为常规的 Mock ,是返回一个值。 var mock = new Mock<Test>(); mock.Setup&[......]继续阅读

2022年9月26日 0条评论 494点热度 0人点赞 痴者工良 阅读全文
.NET

MAUI 获取程序安装目录

Windows.ApplicationModel.Package.Current.InstalledLocation.Path [......] 继续阅读

2022年9月23日 0条评论 346点热度 0人点赞 痴者工良 阅读全文
.NET

razor 代码命名规则

razor 页面字段属性命名规则 组件被调用 一个组件如果允许外部传递参数,需要使用 [Parameter] 修饰属性和大写命名。 <div class="card" style="width:22rem"> <div class="card-body">[......]继续阅读

2022年9月15日 0条评论 272点热度 0人点赞 痴者工良 阅读全文
.NET

为 MAUI Blazor 设置语言

MAUI Blazor 在 Windows 上使用的是 WebView2,MAUI Blazor 运行环境是跟程序没关系的,即使是系统设置了中文语言,程序集设置了中文,本地文化设置了中文,CultureInfo 设置了中文,统统都没有用。 你可以在程序启动后,按下 F12,然后执行 JavaScri[......] 继续阅读

2022年9月15日 0条评论 747点热度 2人点赞 痴者工良 阅读全文
.NET

在 C# 中使用 Span 和 Memory 编写高性能代码

原作者:Joydip Kanjilal 原文地址:https://www.codemag.com/Article/2207031/Writing-High-Performance-Code-Using-SpanT-and-MemoryT-in-C 本文采用半译方式。 在本文中,将会介绍 C# 7.[......] 继续阅读

2022年8月20日 0条评论 443点热度 2人点赞 痴者工良 阅读全文
.NET

Mysql 批量插入生成自增 id ,Redis 无锁非竞争方式的实现

在 Mysql 中,批量插入自增列,是不能批量返回自增后的 Id,为了解决批量插入的问题,利用 Redis 的原子操作,实现无锁原子分配 自增 Id。 核心是在 Redis 中,保存表的最大 Id。 每次插入前,检查缓存 CacheId 跟数据库 MaxId 相比,如果 CacheId > M[......] 继续阅读

2022年8月19日 0条评论 386点热度 0人点赞 痴者工良 阅读全文
.NET

C# 可空集合类型

当集合为 null 时,代码如下: List<int>? _a = null; List<int>? _b = null; var a = _a?.Any() == false;[......]继续阅读

2022年8月6日 0条评论 519点热度 1人点赞 痴者工良 阅读全文
.NET

C# ThreadLocal 的使用误区

如下面代码: [ThreadStatic] private bool HasCreated = false; [ThreadStatic] private int Value = 0; void Main() { ThreadLocal<string> a = new Thre[......]继续阅读

2022年8月4日 0条评论 626点热度 1人点赞 痴者工良 阅读全文
12345…11

痴者工良

高级程序员劝退师

站长简介

一个逗B,爱好技术交流,目前专注于后端开发、Devops、微服务架构、持续交付、容器化、Kubernetes 等。擅长 .NET(C#)、Go 语言。






友情链接
  • 懒得勤快
  • 路遥工具箱

COPYRIGHT © 2022 whuanle.cn. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备18051778号

粤公网安备 44030902003257号