- 跨语言调用C#代码的新方式-DllExport
-
简介上一篇文章使用C#编写一个.NET分析器文章发布以后,很多小伙伴都对最新的NativeAOT函数导出比较感兴趣,今天故写一篇短文来介绍一下如何使用它。在以前,如果有其他语言需要调用C#编写的库,那...
- C#超能编程:AI时代的代码艺术
-
在AI的浪潮中,C#不仅仅是一门编程语言,它是一种艺术,一种力量,一种在数字世界中创造智能生命的方式。本文将带你走进C#进行AI工程开发的基础世界,探索这门语言的深度和广度,揭开其在AI领域的神秘面纱...
- C# 中的性能提升 - Span 和 Memory
-
简单来说,Span<T>和Memory<T>能够以安全的方式使用指针访问内存,它们提供了一种类型安全的方法来访问任意内存的连续区域。他们表示连续的内存块,没有任何复制语义...
- C#程序与单片机通信时,如何实现结构体转换为二进制流
-
在前一篇,《C#程序与单片机通信时,如何实现结构体的字节对齐》中,给大家介绍了如何在C#中定义一个与下位机C语言内存分布一致的结构体。有了这个结构体之后,在数据发送时,必须要把结构体转换为二进制流。在...
- C# 两个exe程序之间通信
-
快到年底了,项目都赶上来了,最近都没什么时间更新。。。其实对于两个程序之间进行通信的实现方式有很多种,一般会采用服务端+客户端的模式,此处我们是进行两个客户端之间的通信,如果用一种最简单的方式去实现的...
- .net环境下跨进程、高频率读写数据
-
一、需求背景1、最近项目要求高频次地读写数据,数据量也不是很大,多表总共加起来在百万条上下。单表最大的也在25万左右,历史数据表因为不涉及所以不用考虑,难点在于这个规模的热点数据,变化非常频繁。数据来...
- 在C#中学习如何使用SIMD
-
前言在前面说在C#中如何提高Linq的性能,其中就提到在.Net8之前的版本(.NetCore3.0之后的版本,)可以通过使用SimdLinq库来提高性能.SimdLinq源码还是比较轻量级...
- C# 面向对象 垃圾回收
-
一、垃圾回收托管堆的工作方式非常类似于栈,在某种程度上,对象子内存中一个挨一个地放置,这样很容易指向下一个空间存储单元的堆指针,来确定下一个对象的位置。在垃圾回收器运行时,它会从堆中删除不再引用...
- C#12 中的集合表达式简介
-
本系列深入探讨了随C#12引入的集合表达式。本系列主要介绍在应用程序中使用集合表达式时生成的代码,以了解集合表达式在后台的工作方式。经典集合初始值设定项自C#3.0以来,我们在C#中就有...
- C# 基础知识系列- 14 IO篇 文件的操作 (3)
-
本篇继续前两篇内容,跟大家介绍一下Path类以及FileSystemInfo这个类的主要方法和属性。上文提到,在《C#基础知识系列-IO篇》之文件相关的内容完结之后,会带领大家开发一个小工具-快速检...