1. 引言在操作系统中,进程信息对于系统监控和性能分析至关重要。假设我们需要开发一个监控程序,该程序能够捕获当前操作系统的进程信息,并将其高效地传输到其他端(如服务端或监控端)。在这个过程中,如何将捕获到的进程对象转换为二进制数据,并进行优化,以减小数据包的大小,成为了一个关键问题。本文将通过逐步分析,探讨如何使用位域技术对C#对象进行二进制序列化优化。操作 ......
428
0
0
2024-05-13
unsetunset1. 简介unsetunset介绍FluentValidation的文章不少,零度编程(站长注:原文已失连)的介绍我引用下:FluentValidation 是一个基于 .NET 开发的验证框架,开源免费,而且优雅,支持链式操作,易于理解,功能完善,还是可与 MVC5、WebApi2 和 ASP.NET CORE 深度集成,组件内提供十几 ......
437
0
0
2024-05-13
前言今天分享一款基于C#开源(MIT License开源协议)、免费、离线、功能齐全的Windows开发者工具箱,号称开发人员的瑞士军刀,可以帮助开发者完成日常工作开发中常用功能:DevToys。工具介绍DevToys是一个专门为开发者设计的Windows工具箱,完全支持离线运行,无需使用许多不真实的网站来处理你的数据,常用功能有:格式化(支持 JSON、S ......
400
0
0
2024-05-13
前言首先来看下,为什么性能会一直持续性优化。.NET8引入的SSE-XMM(16字节)Register和AVX-YMM(32字节)Register是关键,传统的Register一般指令集层次能移动的最多只有8位,就算是最新的x64系统。但是SSE和AVX改变了这种局面,它们能一次性移动64位系统的一倍乃至四倍,这就是优化的关键。前面本公众号(jianghup ......
565
0
0
2024-04-08
使用 C# 实现一个 Event BusEvent Bus(事件总线)是一种用于在应用程序内部或跨应用程序组件之间进行事件通信的机制。它允许不同的组件通过发布和订阅事件来进行解耦和通信。在给定的代码片段中,我们可以看到一个使用C#实现的Event Bus。它定义了一些接口和类来实现事件的发布和订阅。首先,我们有两个基本的约束接口:IEvent和IAsyncE ......
538
0
0
2024-04-06
单例模式在对泛型的约束中,最常使用的关键字有where 和 new。 其中where关键字是约束所使用的泛型,该泛型必须是where后面的类,或者继承自该类。 new()说明所使用的泛型,必须具有无参构造函数,这是为了能够正确的初始化对象 /// <summary> /// C#单例模式 /// </summary& ......
472
0
0
2024-04-03
ASP.NET Core 中包含很多内置的中间件,我们不可能对每一个内置的中间件进行一一讲解,并且中间件的使用步骤大致一样,因此本文讲解几个常用的内置中间件以及使用中间件的步骤,希望读者们可以举一反三。一、内置中间件的介绍1.1 静态文件中间件在ASP.NET Core中,静态文件中间件是一种用于处理和提供静态文件的内置中间件。静态文件通常包括像样式表、脚本 ......
445
0
0
2024-04-03
本篇文章作为中间件单元的开篇文章,通过这篇文章可以了解什么是中间件、内置中间件的使用以及怎么创建自定义中间件。我们先来看一下中间件的角色、目的和重要性。1. 角色请求处理管道的构建块: 中间件是构成ASP.NET Core请求处理管道的基本组成部分。每个HTTP请求都通过一系列中间件,这些中间件负责处理请求的不同方面。处理请求和响应: 中间件可以用于处理传入 ......
447
0
0
2024-04-02
一、ASP.NET Core项目的基本结构ASP.NET Core项目的基本结构通常遵循一种标准的组织方式,这有助于提高项目的可维护性和可扩展性。以下是一个典型的ASP.NET Core项目的基本结构:项目文件 (.csproj): 项目的主要配置文件,定义了项目的依赖项、输出等信息。<Project Sdk="Microsoft.NET.Sdk.We ......
425
0
0
2024-03-25
在C#中,数组是一种常见的数据结构,用于存储一系列相同类型的元素。在使用数组时,一个关键的方面是内存管理。当我们创建数组时,系统需要分配一块内存来存储数组元素,并在数组不再需要时释放这些内存,以避免内存泄漏和提高系统资源利用率。然而,频繁的数组创建和销毁操作可能导致内存碎片化,降低程序的性能。为了解决这个问题,C#引入了ArrayPool类,它允许我们更有效 ......
425
0
0
2024-03-25
.NET8正式版本发布了,AnyCAD Rapid.NET针对.NET8进行了升级和优化。本文以WPF项目为例介绍在.NET8中使用AnyCAD Rapid.NET三维控件。1 从.NET6升级若之前使用NET6升级到.NET8,升级过程非常简单,升级到AnyCAD Rapid .NET最新版本后,仅需要更改以下两处:(1).csproj文件 <Tar ......
399
0
0
2024-03-19
WalkingTec.Mvvm框架(简称WTM)项目简介: WalkingTec.Mvvm框架(简称WTM)是基于.net core的快速开发框架。支持Layui(前后端不分离), React(前后端分离),VUE(前后端分离),内置代码生成器,最大程度的提高开发效率,是一款高效开发的利器。项目源码地址: https://github.com/dotnetc ......
309
0
0
2024-03-17
最近,博主为 FakeRPC[1] 增加了 WebSocket[2] 协议的支持。这意味着,我们可以借助其全双工通信的特性,在一个连接请求内发送多条数据。FakeRPC 目前最大的遗憾是,建立在 HTTP 协议上而不是 TCP/IP 协议上。因此,考虑 WebSocket 协议,更多的是为了验证 JSON-RPC[3] 的可行性,以及为接下来的要支持的 TC ......
293
0
0
2024-03-13
1、正确操作字符串拼接字符串一定要考虑使用StringBuilder ,默认长度为16,实际看情况设置。StringBuilder本质:是以非托管方式分配内存。同时StringFormat方法内部也是使用StringBuilder进行字符串格式化。2、使用默认转型方法类型的转换运算符 :每个类型内部都有一个方法(运算符),分为隐式转换和显示转换。自己实现隐式 ......
281
0
0
2024-03-13
前言老周是一个不喜欢做界面的码农,所以很多时候能用控制台交互就用控制台交互,既方便又占资源少。有大伙伴可能会说,控制台全靠打字,不好交互。那不一定的,像一些选项类的交互,可以用键盘按键(如方向键),可比用鼠标快得多。当然了,要是要触控的话,是不太好用,只能做UI了。关于控制台交互,大伙伴们也许见得最多的是进度条,就是输出一行但末尾不加 \n,而是用 \r 回 ......
233
0
0
2024-03-13