C# 编程
文章平均质量分 56
flysh05
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
WPF 自定义输入窗口
本文介绍了一个自定义的WPF输入对话框实现方案,可完美替代VB的Interaction.InputBox。该方案包含三个部分:1)通过XAML定义对话框窗口布局,包含提示文本、输入框和按钮;2)后台代码实现数据绑定和逻辑处理;3)调用示例展示使用方法。相比VB的InputBox,这个WPF版本能保持应用UI风格统一,支持主题化、MVVM绑定和样式控制。关键实现点包括设置Owner属性和WindowStartupLocation来确保窗口居中显示。该方案简单实用,能很好地融入WPF应用程序架构。原创 2026-02-27 14:22:01 · 330 阅读 · 0 评论 -
一次把字符编码讲清楚:从 ASCII / Unicode 到 C# 文件与 I/O 实战
本文系统梳理了字符编码的核心概念与工程实践。从字符编码的本质(字符与字节的映射规则)出发,分析了字符集与编码方式的区别,并探讨了不同编码存在的历史原因和适用场景。文章详细介绍了ASCII、GB系列、UTF-8/16/32等常见编码的特点,通过二进制示例直观展示了编码差异。在.NET开发层面,重点说明了Encoding类的使用、UTF-16的替代对问题,以及文件I/O和网络通信中的编码处理要点。最后针对工控、上位机等场景给出了实用建议:统一使用UTF-8作为现代标准,对遗留系统按协议处理,并强调必须显式指定编原创 2026-01-22 10:32:55 · 771 阅读 · 0 评论 -
.NET 基础 - StringBuilder 类
本文介绍了 .NET 中的 StringBuilder 类,主要内容包括: 基本概念:StringBuilder 是可变字符串容器,适用于需要频繁修改字符串的场景,如循环拼接、大文本处理等。 核心特性: 可变长度(Length)和容量(Capacity) 支持索引器直接修改字符 自动扩容机制 常用方法: 追加:Append(), AppendLine(), AppendFormat() 编辑:Insert(), Remove(), Replace() 输出:ToString() 应用场景: 循环拼接大文本原创 2026-01-17 13:36:20 · 499 阅读 · 0 评论 -
C# FileInfo 类深度解析文件时间属性
本文介绍了C#中System.IO.FileInfo类处理文件时间属性的方法。重点讲解了三个核心时间属性:创建时间(CreationTime,受文件操作影响)、最后修改时间(LastWriteTime,最可靠)和最后访问时间(LastAccessTime,不推荐使用)。文章提供了代码示例,比较了本地时间与UTC时间的差异,并给出最佳实践建议:优先使用LastWriteTime和UTC时间,进行安全检查与异常处理。这些知识对开发文件管理系统和实现文件同步功能至关重要。原创 2025-09-04 20:49:35 · 1086 阅读 · 0 评论 -
C# 使用SQLite 的基本操作
安装System.Data.SQLite.Core库,The official SQLite database engine for both x86 and x64 along with the ADO.NET provider.原创 2022-10-19 19:49:23 · 3480 阅读 · 0 评论 -
C#中如何定义和使用一个自定义事件(3)
自定义事件原创 2022-10-09 20:19:21 · 332 阅读 · 0 评论 -
C#中如何定义和使用一个自定义事件(2)
在上一个示例中,使用.NET 自定义的委托定义定义事件,不使用自定义委托。原创 2022-10-08 20:36:18 · 247 阅读 · 0 评论 -
C#中如何定义和使用一个自定义事件
假定有这样的一个场景,员工离职,财务部需要接触该员工与该部们的关系,正常员工离职后,财务就不核算该员工的工资等费用了,IT也需要解除该员工的门禁等权限设置。演示的方法是无参数,无返回值情况,实际实际肯定不是这么简单,包含参数的,演示的代码帮助理解事件的发布和订阅使用而已。财务部类的方法,在事件发布中订阅+=, IT部类在构造函数中传入事件发布类,在构造函数中,事件就绑定了方法。首先声明一个委托,该委托是事件发布者和订阅者连接的桥梁。然后基本声明的委托定义一个事件,使用关键字event。原创 2022-10-07 16:37:19 · 1990 阅读 · 0 评论 -
WPF绑定属性更改通知测试
使用场景,UI绑定一个模型的一个属性,属性的改变也触发界面上的绑定值的改变。一般绑定属性值的变化要立即触发UI绑定元素的变化,类的属性需要继承INotifyPropertyChanged。如 Name1, 输入完成,失去焦点时,才触发其它绑定的改变。将触发方式改为UpdateSourceTrigger=PropertyChanged, 时,只要有属性值改变,立即触发绑定。Age属性使用相同的绑定方式。左边输入属性值,右边Copy也跟着变化。原创 2022-09-24 21:42:38 · 904 阅读 · 0 评论 -
C# 获取当前年月日星期第几周等信息
本来有一个需求,需获取当前时间是本年度的第几周。原创 2022-09-01 21:15:06 · 9948 阅读 · 0 评论 -
C# UDP实现数据收发
因为UDP是无连接的,无需建立连接,就可以收发数据。使用Sokit 工具测试编写的代码是否正常工作。开启UDP侦听IP和端口,编写代码实现数据收发,服务端如下:编写简易代码UI如下:向IP 127.0.0.1,9902 端口发送数据,测试发送数据OK测试接收服务端发送的数据OK。...原创 2022-08-31 22:04:34 · 3010 阅读 · 0 评论 -
C# Events
事件发生触发某些行为,如鼠标单击,触发Click Event,或者某情况下触发的通知,如价格变化。类可以定义事件并且它们的实例(对象)可以引发这些事件。例如,一个 Button 可能包含一个当用户单击它时引发的单击事件。事件是由对象发送的通知,用于表示某个动作的发生。.NET 中的事件遵循观察者设计模式。引发事件的类称为发布者,接收通知的类称为订阅者。单个事件可以有多个订阅者。通常,发布者会在某些操作发生时引发事件。有兴趣在动作发生时获得通知的订阅者应该注册一个事件并处理它。在C#中,事件是封装的委托。..原创 2022-08-30 21:56:55 · 287 阅读 · 0 评论 -
WPF简单UI菜单设计
UI效果如下:XAML 设计:后台代码设计:原创 2022-08-27 21:48:16 · 897 阅读 · 0 评论 -
C#简单实例化对象模型到XML文件
将对象XML序列化存储在Result.xml文件中,和输出的内容一样。根据实际的情况创建模型类。原创 2022-08-25 22:38:25 · 725 阅读 · 0 评论 -
WPF在子窗口中动态添加控件,回传输入值
有这样一个需求,类似从一个Excel表格筛选符合条件的行,如果列字段被标记为手动输入,则需要弹出窗口让工人输入,关键是手动输入的列字段不是确定数量的,可能是一个,也有可能是十个,也有可能一百个,不可能每种情况都创建一个对应输入窗口,只能依据参数个数,动态添加控件。原创 2022-08-24 21:44:50 · 2702 阅读 · 0 评论 -
C# 使用unsafe非托管代码测试
如下测试:获取变量的地址。声明一个指向整型变量的指针 p,并将整数变量 number 的地址赋值给该指针,修改指针指向的的值,验证变量的值是否和修改指针指向的值一样。C#使用托管平台,不允许操作变量地址,实际可以在获取变量的地址的,修改地址变量指向的值,也即修改了变量的值。修改指针地址所指向内存中的值,即可修改变量的值。原创 2022-08-23 22:35:49 · 426 阅读 · 0 评论 -
C# StringBuilder 使用
在C#中,字符串类型是不可变的。这意味着字符串一旦创建就无法更改。例如,一个新的字符串"HelloWorld!"将占用堆上的内存空间。现在,通过将初始字符串更改"HelloWorld!“为"Hello World!I like C#” 将在内存堆上创建一个新的字符串对象,而不是在相同的内存地址处修改原始字符串。如果通过替换,追加,删除或在原始字符串中插入新字符串多次更改原始字符串,此行为将影响性能。为了解决此问题,C#StringBuilder在System.Text命名空间中引入。原创 2022-08-22 22:14:37 · 1876 阅读 · 0 评论 -
C# 使用Win32 API
【代码】C# 使用Win32 API。原创 2022-08-19 22:27:06 · 1423 阅读 · 0 评论 -
C# 使用ExcelDataReader读取Excel文件内容
存在很多优秀的操作Excel文件的库,本次使用ExcelDataReader 库读取Excel中的内容。感觉这个库很容易上手,操作方便,值得介绍一下。原创 2022-08-18 22:18:07 · 3239 阅读 · 2 评论 -
C# 修改打印机名称
模板指定打印机名称,可以修改默认打印机名称匹配模板打印机,实现自动打印。否则需要手动配置打印机。Canon TS3300 series (副本 1)原创 2022-08-17 22:21:27 · 698 阅读 · 0 评论 -
C# 直接使用DllImport外部dll的方法
4、DllImport路径----使用第三方非托管的DLL(MarkEzd.dll)组件的时候,当把MarkEzd.dll拷贝到Bin目录下,提示仍然提示仍然找不到该dll.(而这样[DllImport(@“C:\ProgramDir\MarkEzd.dll”)]可以正常加载)。1、Dll文件必须位于程序当前目录或系统定义的查询路径中(即:系统环境变量中Path所设置的路径)。DLL文件必须位于程序当前目录或系统定义的查询路径中(即:系统环境变量中Path所设置的路径)。...原创 2022-08-16 22:17:31 · 1835 阅读 · 0 评论 -
C# 序列化自定义对象
例如 TestResult.csget;set;get;set;get;set;get;set;} }原创 2022-08-13 09:26:04 · 794 阅读 · 0 评论 -
C# 中简单的XML序列化
首先添加引用:using System.Xml.Serialization;输出:2. 反序列化测试序列化到文件,再读取文件执行反序列化,修改上序列化方式,序列化到文件。输出:10也即将XML文件中的元素10 反序列化到了整型变量。...原创 2022-08-12 22:28:15 · 2322 阅读 · 0 评论 -
C# 解析XML文件
XML文件结构如下:<?xml version="1.0" encoding="utf-8"?><Meters> <Meter Ordernumber="G020539612S0"> <Id>16071536</Id> <Pass>0</Pass> <Fail>1</Fail> <Status>0</Status> <Dat原创 2022-08-11 22:21:33 · 3441 阅读 · 0 评论 -
WPF DataGrid 使用数据模板(2)
代码】WPF DataGrid 使用数据模板(2)原创 2022-08-10 20:33:04 · 436 阅读 · 0 评论 -
WPF DataGrid 使用数据模板
使用数据模型类创建数据源,所以AutoGenerateColumns=“False”创建数据模型的数据集合,绑定到DataGrid 的ItemsSource 属性。使用DataGridTextColumn 绑定模型的属性字段。原创 2022-08-09 20:28:39 · 879 阅读 · 0 评论 -
WPF DataGrid 展示数据
DataGrid 经常用作数据的展示,例如:2. 后台代码创建一个DataTable 数据源,在窗口初始化时绑定。DataTable的原始数据可以来自数据库,文件等。原创 2022-08-08 17:35:35 · 1748 阅读 · 0 评论 -
正则表达式
如 匹配所有小写字母 [a-z] , 匹配所有字母[a-zA-Z], 匹配字母和数字[a-zA-Z0-9]重复1至6次{1,6} ,重复6次以上{6, }\b 单词边界, 如 限制单词 Code,\bCode\b。点 . 代表任意字符, .* 表是0个或多个任意字符。^ 取反, 排除的字符,[^0-9] 不是数字。(3) + 匹配1次或多次,即至少出现1次。\w+ 单词字符(英文,数字以及下划线)正则表达式中大多数元字符都以反斜杠开头。贪婪匹配,尽可能多的匹配,全部匹配。(2) * 匹配0个或多个字符。.原创 2022-08-07 18:12:36 · 240 阅读 · 0 评论 -
C# DirectoryInfo类
C# DirectoryInfo类原创 2022-08-03 21:52:12 · 782 阅读 · 0 评论 -
C# FileInfo类
C# FileInfo类的基本使用。原创 2022-08-01 21:48:05 · 4857 阅读 · 0 评论 -
C# 使用RestSharp 实现Get,Post 请求(2)
Get,Post 请求使用RestSharp库原创 2022-07-29 22:15:27 · 2347 阅读 · 0 评论 -
C# 使用RestSharp库实现POST请求
RestSharp 实现Get,Post 请求。原创 2022-07-28 22:02:11 · 2987 阅读 · 0 评论 -
C# 调用Python 应用程序
C# 调用Python应用程序,并传入参数给Python应用程序,C#接收Python返回的数据。原创 2022-07-26 21:09:53 · 1078 阅读 · 0 评论 -
C# 使用SQLite
C# SQLite 操作。原创 2022-07-24 19:30:48 · 4645 阅读 · 0 评论 -
XML架构
XML 架构原创 2022-07-21 20:39:11 · 515 阅读 · 0 评论 -
XML解析
XML解析原创 2022-07-20 21:04:30 · 1180 阅读 · 0 评论 -
关于XML 编辑工具
关于XML编辑器原创 2022-07-19 20:56:40 · 2954 阅读 · 0 评论 -
关于XML文件(八)-DOM和验证
XML DOM原创 2022-07-18 22:37:29 · 325 阅读 · 0 评论 -
关于XML文件(七)- XML DTD
XML DTD原创 2022-07-17 15:52:06 · 333 阅读 · 0 评论 -
关于XML文件(六)-与JSON的区别
XML 与JSON之间的区别原创 2022-07-16 22:06:05 · 362 阅读 · 0 评论
分享