会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
《游泰山》——唐·李白
长松入霄汉,远望不盈尺。山花异人间,五月雪中白。
博客园
首页
新随笔
联系
订阅
管理
2025年12月21日
控件的Invoke 方法、BeginInvoke 方法、InvokeAsync 方法
摘要: 在C#中,控件的Invoke、BeginInvoke和InvokeAsync方法都用于在UI线程上执行代码,但它们在执行方式、返回值和使用场景上有所不同。 1. 方法差异 Invoke 方法 同步调用:阻塞调用线程,直到UI线程执行完委托。 返回值:可以返回委托执行的结果。 异常处理:如果在UI线程
阅读全文
posted @ 2025-12-21 19:19 长松入霄汉远望不盈尺
阅读(1)
评论(0)
推荐(0)
2025年11月8日
OCX与C# 之四:C#中使用OCX
摘要: 在 C# 程序中使用 OCX(ActiveX)控件是一个相对直接的过程。微软提供了很好的互操作性支持。 以下是详细的方法和步骤。 核心原理 C# 通过 "运行时可调用包装" 将 COM 组件(如 OCX)包装成 .NET 能够识别和使用的类。我们不需要直接与复杂的 COM 接口打交道。 详细步骤 以
阅读全文
posted @ 2025-11-08 11:17 长松入霄汉远望不盈尺
阅读(28)
评论(0)
推荐(0)
OCX与C# 之三:C#中使用OCX
摘要: C# 可以使用 OCX 控件,因为 .NET 框架提供了对 COM 组件(包括 OCX)的互操作支持(COM Interop)。只要通过正确的配置,就能在 C# 项目中调用 OCX 控件的功能。 C# 使用 OCX 控件的核心原理 OCX 本质是 COM 组件,而 .NET 框架通过 COM 互操作
阅读全文
posted @ 2025-11-08 11:05 长松入霄汉远望不盈尺
阅读(37)
评论(0)
推荐(0)
OCX与C# 之二:初始OCX
摘要: 核心结论 可以这样简单地理解它们(ActiveX 控件 ocx文件 OCX)的演变关系: OCX(一种文件格式) → OLE 控件(一种技术) → ActiveX 控件(一个营销新名称) 换句话说: OCX 是文件的容器和扩展名。 ActiveX 控件 是这种技术的营销名称和规范。 它们本质上是同一
阅读全文
posted @ 2025-11-08 10:50 长松入霄汉远望不盈尺
阅读(17)
评论(0)
推荐(0)
OCX与C# 之一:初始OCX
摘要: 一句话概括 OCX文件是一种主要用于旧版Windows程序的“插件”或“组件”,它为程序提供了额外的功能,比如显示一个特殊的日历控件、播放视频或处理富文本。 详细解释 1. 是什么? 技术定义:OCX 是 “OLE Control Extension” 的缩写,即 OLE 控件扩展。它定义了这种组件
阅读全文
posted @ 2025-11-08 10:47 长松入霄汉远望不盈尺
阅读(31)
评论(0)
推荐(0)
2025年11月5日
C#中的 Task.WaitAll 与 Task.WhenAll
摘要: 在C#中,Task.WaitAll 和 Task.WhenAll 都是用于等待多个任务完成的方法,但它们在工作方式和使用场景上有重要区别。 1. 基本区别 Task.WaitAll 同步阻塞:阻塞当前线程直到所有任务完成 返回值:void 异常处理:抛出 AggregateException Tas
阅读全文
posted @ 2025-11-05 11:13 长松入霄汉远望不盈尺
阅读(83)
评论(0)
推荐(0)
2025年10月27日
C#中的 Span、fixed、多维数组
摘要: 在C#中,多维数组(如double[,])与交错数组(double[][])不同。 多维数组是矩形数组,在内存中是连续存储的。 但是,Span最初是为连续内存区域设计的,因此对于多维数组,我们可以使用MemoryMarshal来创建一个Span,但需要注意维度。 实际上,对于多维数组,我们可以将其视
阅读全文
posted @ 2025-10-27 13:22 长松入霄汉远望不盈尺
阅读(27)
评论(0)
推荐(0)
C#中的fixed 语句的工作原理
摘要: fixed 语句是 C# 中指针功能的核心组成部分,它的工作原理涉及到 CLR(公共语言运行时)的垃圾回收机制。让我详细解释它的工作原理: 1. 垃圾回收与内存移动 在 .NET 的托管环境中,垃圾回收器(GC)会定期执行以下操作: 回收不再使用的内存 压缩堆 - 移动存活对象来消除内存碎片 //
阅读全文
posted @ 2025-10-27 12:59 长松入霄汉远望不盈尺
阅读(20)
评论(0)
推荐(0)
C#中的指针
摘要: 在C#中,指针是一个高级特性,通常用于需要直接内存操作或与原生代码交互的场景。C#中的指针使用需要在不安全的上下文中进行,并且通常用于值类型(如int, double, struct等)。使用指针可以绕过CLR(公共语言运行时)的一些安全检查,因此必须谨慎使用。 1. 启用不安全代码 要使用指针,首
阅读全文
posted @ 2025-10-27 12:26 长松入霄汉远望不盈尺
阅读(54)
评论(0)
推荐(0)
C# 中的不安全代码(unsafe code)和指针操作
摘要: 1️⃣C#代码片段如下: int a=1000,b=8; double[,] output = new double[a, b]; double [,]data=new double[a*128,b] unsafe { fixed (double* dataBasePtr = &data[0, 0]
阅读全文
posted @ 2025-10-27 12:08 长松入霄汉远望不盈尺
阅读(19)
评论(0)
推荐(0)
下一页
公告