
C#
文章平均质量分 67
我不是程序猿儿
平淡地看待超出自己能力外的事
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C#】C++的回调函数和C#的事件委托在某些方面有相似之处
C++的回调函数和C#的事件委托都实现了某种形式的动态调用机制,但C#提供了更强大的语言支持,特别是在类型安全和事件管理方面。C++的回调函数更加灵活,但它要求开发者手动管理函数指针,而C#的事件和委托机制则为回调提供了更高层次的抽象。原创 2025-06-10 16:06:29 · 399 阅读 · 0 评论 -
【C#】用 DevExpress 创建带“下拉子表”的参数表格视图
用 DevExpress 创建带“下拉子表”的参数表格视图原创 2025-05-19 13:55:57 · 385 阅读 · 0 评论 -
【C#】 lock 关键字
C# 里,lock 关键字原创 2025-05-16 13:44:22 · 1196 阅读 · 0 评论 -
【C#】Thread.Join()、异步等待和直接join
Thread.Join()、异步等待和直接join原创 2025-05-15 16:06:29 · 905 阅读 · 0 评论 -
[C#]反射的实战应用,实际数据模拟
反射的实战应用,实际数据模拟原创 2025-04-24 17:02:03 · 271 阅读 · 0 评论 -
【C#】一种优雅的基于winform的串口通信管理
一个工业级、企业上位机必备的完整串口通信系统原创 2025-04-11 17:09:35 · 963 阅读 · 0 评论 -
【C#】构造协议帧通过串口下发
构造协议帧通过串口下发原创 2025-03-31 16:33:32 · 345 阅读 · 0 评论 -
【C#】设备回帧太快、数据没收完整就被读取,导致帧被拆、混、丢,很常见,尤其在高频通信设备,解决方案
设备回帧太快、数据没收完整就被读取,导致帧被拆、混、丢,很常见,尤其在高频通信设备,解决方案原创 2025-03-31 16:31:49 · 493 阅读 · 0 评论 -
【C#】检查已有窗口,防止重复打开
winform项目只允许打开一个窗口,检查已有窗口,防止重复打开原创 2025-03-03 14:40:13 · 740 阅读 · 0 评论 -
【C#】winform设计一个等待窗口
| **方法 1**:任务完成后自动关闭 **(推荐)** | 任务完成后自动关闭等待窗口 | `waitingForm.Close();` || **方法 2**:手动点击关闭 | 用户可以手动取消等待 | `btnCancel.Click += BtnCancel_Click;` || **方法 3**:超时自动关闭 | 任务超时后自动关闭 | `if (!isCompleted) { MessageBox.Show("任务超时"); }` |原创 2025-03-03 09:50:36 · 595 阅读 · 0 评论 -
【C#/C++】C#调用C++ DLL bool返回值始终为true的问题排查
在C#项目中,调用C++DLL中方法时,bool返回值始终返回true。原创 2025-02-19 09:25:18 · 322 阅读 · 0 评论 -
【C++】烧录软件的dll设计方案
通过两个线程分别处理数据的发送和 ACK 的接收,可以有效地实现 ARM 烧录过程中的数据下发与 ACK 确认。- 使用 **线程同步**(如 `std::mutex` 和 `std::condition_variable`)确保多线程安全,并避免竞争条件。- 最后通过 **核对 ACK** 来检查是否存在漏发的情况。 根据实际情况进一步优化这段代码,调整批次大小、添加错误处理等。原创 2025-02-18 17:00:28 · 454 阅读 · 0 评论 -
【C++/C#】关于动态调用DLL路径找不着原因及解决方案
关于动态调用DLL路径找不着原因及解决方案原创 2025-02-11 11:15:59 · 556 阅读 · 0 评论 -
【C++】关于使用动态链接库DLL的入门、DLL宏定义解析
关于使用动态链接库DLL的入门、DLL宏定义解析原创 2025-02-08 16:18:33 · 692 阅读 · 0 评论 -
【C#】将信息输出到 Visual Studio 的输出窗口的几个方式
在 **WinForms** 项目中,可以通过使用 `System.Diagnostics.Debug` 或 `System.Diagnostics.Trace` 类将信息输出到 Visual Studio 的输出窗口。这两者之间的主要区别在于,`Debug` 仅在调试模式下有效,而 `Trace` 则在调试模式和发布模式下都有效。原创 2025-01-17 09:14:59 · 864 阅读 · 0 评论 -
【C#】WPF项目,项目目录文件解析、WinForms 和 WPF 的概念及其区别与联系
【C#】WPF项目,项目目录文件解析、WinForms 和 WPF 的概念及其区别与联系\基于 XAML,将界面与逻辑分离原创 2025-01-13 16:54:10 · 1352 阅读 · 0 评论 -
【Servo】烧写EEPROM的流程及数据流转的详细讲解
烧写 **EEPROM** 是嵌入式开发中非常常见的一种操作,用于将设备的配置信息、校准参数或固件等数据写入设备的 **非易失性存储器(EEPROM)** 中。以下是基于 **TwinCAT 的 ADS 协议** 实现 **EEPROM 烧写** 的详细流程、数据流转过程和工作原理的讲解。原创 2025-01-09 17:43:13 · 1265 阅读 · 0 评论 -
【C#】方法参数的修饰符ref 与 out
方法参数的修饰符 ref 与 out原创 2024-12-19 14:18:24 · 937 阅读 · 0 评论 -
【C#】Debug和Release的区别和使用
在 C++ 或 C# 开发中,debug和release是两种不同的编译配置,主要用于开发过程中的不同阶段。版本是为了开发和调试程序而优化的构建模式。原创 2024-12-17 15:35:52 · 1583 阅读 · 0 评论 -
【C#】RichTextBox基本用法和高级用法及示例
在 Windows Forms 应用程序中,是一个非常强大的控件,可以用来处理多行文本输入和输出。与普通的TextBox不同,支持富文本格式,比如字体样式、颜色和对齐方式。原创 2024-12-13 15:01:55 · 1262 阅读 · 0 评论 -
【C#】基础之 属性的 `get` 和 `set` 方法讲解
- **自动实现的属性**:简洁的属性定义,编译器自动创建字段。- **手动实现的属性**:定义 `get` 和 `set` 方法,可以添加逻辑。- **只读属性**:只有 `get` 方法,不能外部设置。- **只写属性**:只有 `set` 方法,不能外部读取。- **`get` 和 `set` 中的 `value`**:`value` 是 `set` 访问器的隐式参数,代表赋给属性的新值。- **属性的访问修饰符**:可以根据需要设置 `get` 和 `set` 的访问权限。原创 2024-12-11 09:46:38 · 4296 阅读 · 0 评论 -
【C#】元数据定义,及各类运用
元数据是有关数据的数据,通常在程序执行时与数据一起使用,但它并不直接参与程序的业务逻辑处理。在 C# 以及很多其他编程语言中,元数据主要涉及程序和类型的描述信息,它帮助开发人员和系统理解程序如何构成、如何执行以及如何与其他程序交互。它提供了关于数据的结构、格式、定义、来源、用途等信息,可以被用来理解、操作或管理实际的数据。类型元数据描述了类型的结构,包括类、方法、属性、字段等的名称、类型、访问修饰符、参数等。:特性本质上是元数据的标注,可以附加到类、方法、属性等程序元素上,用来提供附加信息。原创 2024-12-10 10:52:46 · 1076 阅读 · 0 评论 -
【C#】反射 和 特性(Attribute)、[AttributeUsage(AttributeTargets.Property)]
反射 和 特性(Attribute)、[AttributeUsage(AttributeTargets.Property)]原创 2024-12-10 10:18:48 · 1151 阅读 · 0 评论 -
【C#】int? , C# 中的可空类型(Nullable Types)
- `int?` 是 `int` 类型的可空版本,允许变量存储整数值或 `null`。- 使用 `int?` 可以有效地表示一个整数值可能不存在或未设置的场景。- 在你的代码中,`Min` 属性使用 `int?` 使得它可以存储一个有效的整数或表示没有设置的状态(`null`)。原创 2024-12-09 09:41:16 · 1218 阅读 · 0 评论 -
【C#】一个有意思的方法nameof
- `nameof` 是 C# 中用于获取标识符名称的关键字。它用于在编译时获取变量、方法、属性、类等的名称,并返回一个字符串。- `nameof` 是编译时计算的,可以避免硬编码字符串,减少代码维护的错误。- 常用于 `INotifyPropertyChanged`、参数检查、日志、错误处理等场景。原创 2024-12-07 13:59:24 · 1788 阅读 · 0 评论 -
【C#】GridView常见的与数据相关方法
GridView常见的与数据相关方法原创 2024-12-07 14:30:00 · 510 阅读 · 0 评论 -
【C#】 DevExpress 的 GridControl 和 GridView 中,BeginInit() 和 EndInit() 方法
DevExpress 的 GridControl 和 GridView 中,BeginInit() 和 EndInit() 方法原创 2024-12-07 10:07:33 · 650 阅读 · 0 评论 -
【C#】键值对的一种常见数据结构Dictionary<TKey, TValue>
Dictionary键值对原创 2024-12-06 16:35:40 · 828 阅读 · 0 评论 -
【C#】GridControl 和 GridView
`GridControl` 和 `GridView` 的关系原创 2024-12-06 16:32:45 · 680 阅读 · 0 评论 -
【C#】Task.Delay与Thread.Sleep
- **`Thread.Sleep`** 会阻塞当前线程,适合用于不影响 UI 的后台线程,或短时间内简单的同步延迟。- **`Task.Delay`** 是一个异步操作,适合用于 **UI 线程** 或异步任务中,保证程序在延迟时 **不会阻塞线程**,从而保持界面响应性。对于是需要进行异步编程或涉及 UI 交互的场景,通常推荐使用 `Task.Delay` 而不是 `Thread.Sleep`,因为它提供了更好的性能和用户体验。原创 2024-12-05 15:12:50 · 1599 阅读 · 0 评论 -
【C#】新建窗体文件,Form、UserControl
新建窗体文件,Form、UserControl 从**用途**、**功能性**和**架构**方面进行讲解。原创 2024-12-04 15:52:26 · 1351 阅读 · 0 评论 -
【C#】C# 的字符串原义符号 @ 和 转义字符 ““
在 C# 中,符号和转义字符""都用于处理字符串的特殊情况。原创 2024-12-03 15:45:47 · 945 阅读 · 0 评论 -
【C#】lambda , lambda 表达式语法
Lambda 表达式是 C# 中一种非常简洁且强大的语法结构,它允许你定义匿名方法。简而言之,Lambda 表达式可以看作是一个简化的匿名方法或者匿名函数。原创 2024-11-28 14:14:52 · 1007 阅读 · 0 评论 -
【C#】CancellationTokenSource 为任务或线程提供一种优雅的方式来支持取消操作
.NET 中用于管理任务或异步操作的取消机制的一个核心类原创 2024-11-25 15:12:35 · 1779 阅读 · 0 评论 -
【工具】vs 中“启用本地代码调试”选项控制着调试器是否能够调试 本地代码(非托管代码,例如 C++ 或调用非托管 API 的代码)
在 Visual Studio 的“调试”设置中,“启用本地代码调试”选项控制着调试器是否能够调试(非托管代码,例如 C++ 或调用非托管 API 的代码)。这个选项的打勾与否会影响到你在调试时的功能。原创 2024-11-11 17:54:24 · 781 阅读 · 0 评论 -
【C#/C++】C++/CL中String^的含义和举例,C++层需要调用C#层对象时...
在 C++/CLI 中,String^和这种写法是一种混合了 C++ 和 .NET 的语法,用于在 C++ 中操作 .NET 对象。C++/CLI 是微软扩展的 C++ 语言,用于在 .NET 平台上使用 C++ 编程,并与托管代码(.NET 代码)进行互操作。原创 2024-11-11 20:30:00 · 1864 阅读 · 0 评论 -
【C#】深拷贝和浅拷贝、区别
浅拷贝:只复制值类型字段,引用类型字段只复制引用,使用实现。深拷贝:递归复制所有引用类型字段,创建完全独立的副本,可以通过手动复制或序列化实现。推荐方法:如果对象结构简单,可以手动实现深拷贝。如果对象结构复杂且支持序列化,可以使用序列化方法实现深拷贝。原创 2024-11-11 19:45:00 · 687 阅读 · 0 评论 -
【C#】TableLayoutPanel控件
TableLayoutPanel 是 Windows Forms 中的一个容器控件,用于将子控件按照网格布局排列。它允许开发者指定行数和列数,并将每个控件放入特定的行和列中。TableLayoutPanel 非常适合创建表单、工具面板或其他需要整齐布局的 UI。原创 2024-11-11 14:01:06 · 1322 阅读 · 0 评论 -
【C#】异步和多线程
异步和多线程是两个相关但不同的概念,它们都可以提高程序的效率和响应能力,但实现方式和适用场景有所不同。原创 2024-10-29 14:26:25 · 745 阅读 · 0 评论 -
【C#】mvvm设计模式,还有命令绑定、事件聚合器和消息传递机制
MVVM(Model-View-ViewModel)是一种,主要用于分离前端UI和后端业务逻辑,常见于WPF(Windows Presentation Foundation)、Xamarin和MAUI等 .NET 框架中的应用。它有助于提升代码的和。原创 2024-10-23 17:45:00 · 1845 阅读 · 0 评论