c#
叫我少年
向上
展开
-
[STAThread]特性
[STAThread] 特性用于需要与 COM 组件交互的应用程序,尤其是依赖单线程模型(如 Windows Forms 应用程序)的组件。在 STA 模式下,线程拥有自己的消息循环,这对于处理用户界面和某些 COM 组件是必要的。定义:STAThread: 特性主要用于需要与 COM 组件交互的应用程序,尤其是依赖单线程模型(如 Windows Forms 应用程序)的组件。在 STA 模式下,线程拥有自己的消息循环,这对于处理用户界面和某些 COM 组件是必要的。通过检查线程的 属性来实现。设置线原创 2024-09-11 11:39:23 · 446 阅读 · 0 评论 -
WinFrom项目结构
bin 目录:存放最终编译输出,包括可执行文件和库文件。包含 Debug 和 Release 子目录,分别用于调试和发布版本。obj 目录:存放编译过程中的中间文件和缓存文件。这两个目录由系统自动管理,开发者通常无需手动干预。发布应用时,只需关注 bin 目录中的 Release 子目录,确保其中的文件是最终用户使用的版本。原创 2024-09-10 16:57:50 · 783 阅读 · 0 评论 -
c# LiteDB的基础用法
定义一个FileModel"files"] // 可以指定集合名称[BsonId] // 标记为主键set;set;原创 2024-04-12 15:13:21 · 669 阅读 · 0 评论 -
c# 实现Quartz任务调度
使用 Quartz.NET,你可以很容易地安排任务在应用程序启动时运行,或者每天、每周、每月的特定时间运行,甚至可以基于更复杂的调度规则。原创 2024-04-11 10:36:03 · 768 阅读 · 0 评论 -
c# 使用gRPC通讯
添加代码。测试实例为服务端和客户端传输字符串消息,只定义了一个方法(客户端调用,服务端重写),传输内容包括请求字符串和回复字符串。此处可自行定义。//proto3 是 Protocol Buffers 的第三个版本// 指定了生成的 C# 代码的命名空间为 LinkService。当使用 protobuf 编译器 (protoc) 将这个 .proto 文件转换为 C# 代码时,生成的类将位于 LinkService 命名空间中//定义了一个名为 Link 的 gRPC 服务。原创 2024-04-10 17:03:59 · 885 阅读 · 0 评论 -
c#使用委托进行winfrom窗体传值
定义委托定义了一个参数是string ,无返回值的委托,名为 SendMessageToChildForms。 public delegate void SendMessageToChildForms(string s);委托实例化本质就是实例化了一个事件eventpublic event SendMessageToChildForms smtcf_event;执行的方法public void ToShowGetMessage(string s){ this.lb_收到内容.T原创 2021-10-28 12:11:42 · 242 阅读 · 0 评论 -
使用委托监听方法
【代码】使用委托监听方法。原创 2024-01-18 11:56:49 · 375 阅读 · 0 评论 -
c#中的析构函数
用于在对象被销毁时执行清理操作。它与构造函数相反,构造函数用于在对象创建时执行初始化操作。原创 2023-11-06 11:49:45 · 677 阅读 · 0 评论 -
c#中switch常用模式
的类型,然后根据类型输出相应的消息。原创 2023-11-06 10:35:21 · 352 阅读 · 0 评论 -
Sandcastle生成文档
下载: https://github.com/EWSoftware/SHFB/releases使用Sandcastle生成Api文档需要使用对应程序集的注释xml + 程序集dll作为数据源,通过对xml + dll数据解析生成文档;所以主体步骤如下:配置需要生成的程序集Api Xml,默认生成到\bin\Debug\xxx下此处为使用 Sandcastle Help File Builder GUI进行项目的创建、配置;当然,你也可以使用vs创建,前提是需要安装vs插件包:四种Sandcastle方法生成原创 2023-11-06 10:04:50 · 132 阅读 · 0 评论 -
c#中使用METest单元测试
METest是一个用于测试C#代码的单元测试框架。单元测试是一种软件测试方法,用于验证代码的各个单元(函数、方法、类等)是否按照预期工作。METest提供了一种简单而强大的方式来编写和运行单元测试。原创 2023-11-03 10:52:57 · 684 阅读 · 0 评论 -
c#字符串转整数类型
将字符串转换为整数类型。为了方便,C#提供了一个内置的方法TryParse来实现这个功能。原创 2023-11-03 10:29:02 · 194 阅读 · 0 评论 -
c#字符串格式化
字符串格式化是一种将变量的值插入到字符串中的方法。它允许我们创建动态的字符串,其中包含变量的值。原创 2023-11-03 10:16:40 · 190 阅读 · 0 评论 -
c#中Null条件运算符
在对象使用前检查是否为null。如对象空,则赋值给变量为空值,所以例子中需要一个为空的int类型、即int?如果对象不为空,则调用对象的成员取值,并赋值给变量。Null 条件运算符(?.)和空合并运算符(?)是用于处理可能为空的对象的特殊运算符。原创 2023-11-03 09:38:55 · 258 阅读 · 0 评论 -
c#移动控制台的缓冲区
方法来移动控制台的缓冲区。控制台缓冲区是一个用于存储控制台输出的内存区域。通过移动缓冲区,我们可以在控制台上创建自定义的输出布局。原创 2023-11-03 09:28:06 · 200 阅读 · 0 评论 -
c#匿名类
匿名类是一种特殊的类,它允许我们在不定义具体类的情况下创建一个临时的、只有属性的类。匿名类通常用于临时存储和传递数据,特别是在LINQ查询中非常有用。匿名类在linq to sql或者entity framework中返回查询数据时很好用。原创 2023-11-03 09:06:20 · 312 阅读 · 0 评论 -
c#局部类
partial是局部类型的意思。允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。C#编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类。原创 2023-11-03 08:45:48 · 141 阅读 · 0 评论 -
c#耗时及性能监测
使用了using语句来创建一个MeasureDuration对象,并在代码块结束时自动释放资源。在MeasureDuration的构造函数中,我们传入了一个回调函数,该函数将在代码块结束时被调用,并将代码执行的时间间隔作为参数传递给回调函数。在回调函数中,我们将代码执行的时间间隔输出到控制台。在编程中,我们经常需要测量代码的执行时间,以便评估代码的性能和效率。类相关字段、属性、方法的使用示例,可以参考代码如下,创建MeasureDuration.cs,并实现。类来测量代码块的执行时间。原创 2023-10-31 15:23:44 · 297 阅读 · 0 评论 -
c#后台任务运行
方法一,可以起一个Task任务,在Task任务中写个死循环,这种死循环最好在最后写个 Thread.Sleep,不然程序会占用很高的CPU。在C#中如果想要执行一段一直运行的程序,如监听网络状态,实时读取PLC数据,遇到这种情况有多种解决方法。原创 2023-10-31 14:28:12 · 893 阅读 · 0 评论 -
在Windows系统中点击文件后获取到文件完整路径
在Windows系统中点击文件后获取到文件完整路径。原创 2023-10-30 17:12:26 · 238 阅读 · 0 评论 -
winfrom窗体比例缩放
用于控件大小随窗体大小等比例缩放的C#代码。该代码可以在窗体重载中使用,以确保窗体中的控件在窗体大小改变时能够按比例缩放。SetTagTag。原创 2023-10-30 16:47:34 · 816 阅读 · 0 评论 -
c#十六进制字符转十进制
【代码】c#十六进制字符转十进制。原创 2023-10-30 15:34:42 · 1862 阅读 · 0 评论 -
使用c#在指定的时间内等待函数执行结果
在指定的时间内等待某个函数的执行结果的方法。该方法接受三个参数:等待的最大时间、等待的频率和要等待的函数。方法会在指定的时间内每隔一定频率检查函数的执行结果,如果在等待时间内函数返回了true,则表示等待成功,返回true;如果超过等待时间仍未返回true,则表示等待失败,返回false。原创 2023-10-30 15:24:24 · 975 阅读 · 0 评论 -
c#实现文件压缩的方法
【代码】c#实现文件压缩的方法。原创 2023-10-30 15:12:32 · 535 阅读 · 0 评论 -
c#使用委托执行带有超时检查的方法.
【代码】c#使用委托执行带有超时检查的方法.原创 2023-10-30 14:04:18 · 285 阅读 · 0 评论 -
netCore使用依赖注入
定义一个接口ICacheUtil} }} }} }} }} }原创 2023-07-19 14:40:28 · 322 阅读 · 0 评论 -
netCore使用依赖注入
定义一个接口ICacheUtil} }} }} }} }} }原创 2023-07-19 14:38:06 · 417 阅读 · 0 评论 -
SqlSugar仓储
定义 After.Repository 类库定义的Repository是公用类public Repository(ISqlSugarClient context = null): base(context) //注意这里要有默认值等于null});/// 扩展方法,自带方法不能满足的时候可以添加新方法可以拿到SqlSugarClient 做复杂操作。原创 2023-07-19 12:18:37 · 932 阅读 · 1 评论 -
winfrom界面库(CSkin)
3.控件添加完毕,控件拖拽到界面即可使用和引用。2.将CSkin.dll拖到新建的工具箱栏里。4.窗体美化需要继承CCSkinMain。1.工具箱右键-新建项-命名CSkin。原创 2023-07-18 14:00:00 · 817 阅读 · 0 评论 -
c#中使用NAudio
在网上找了很多类似录音教程效果都不好,或根本不能录音,代码由网上借鉴修改(完整实现录音播放功能)NAudioNAudio为.NET平台下的开源库,采用ML-PL协议,开源地址:https://github.com/naudio/NAudio。NAudio功能强大,且其入门容易。强大在于:它支持许多音频操作,可实现多种API播放与录制、多种不同音频格式、音频格式转换(重采样、位深、声道等)、音频编码、多通道播放、音频效果处理等等(详细介绍可以看Github readme)。新建RecordContr原创 2021-10-26 11:55:46 · 1573 阅读 · 0 评论 -
c#中的扩展方法
给string 类型增加一个Add方法,该方法的作用是给字符串增加一个字母a。它必须在一个非嵌套的、非泛型的静态类中(所以必须是一个静态方法)扩展方法它可以让我们在不修改原始类的情况下,为其添加新的方法。原创 2023-05-27 10:31:28 · 1103 阅读 · 0 评论 -
c#实现系统休眠或静止休眠
使用了kernel32.dll中的SetThreadExecutionState函数来阻止系统休眠。我们还定义了一个枚举类型ExecutionFlag,用于指定阻止系统休眠的选项。我们可以使用SetThreadExecutionState函数来设置ExecutionFlag标志,以防止系统休眠。用于阻止系统休眠的C#类。原创 2023-05-22 10:36:18 · 1303 阅读 · 0 评论 -
c#使用kernel32.dll读写INI文件
INI文件是一种常见的配置文件格式,通常用于存储应用程序的配置信息。在C#中,我们可以使用Kernel32库来读写INI文件。原创 2023-05-18 15:30:36 · 1436 阅读 · 1 评论 -
C#中的时间类
可以使用TimeSpan.FromDays、TimeSpan.FromHours、TimeSpan.FromMinutes、TimeSpan.FromSeconds等方法创建TimeSpan对象。可以使用DateTimeOffset.Now属性获取当前时间,也可以使用DateTimeOffset.Parse方法将字符串转换为DateTimeOffset对象。可以使用DateTime.Now属性获取当前时间,也可以使用DateTime.Parse方法将字符串转换为DateTime对象。原创 2023-05-18 15:02:09 · 4171 阅读 · 0 评论 -
c#中的解压缩
ZipDirectory是一个C#函数,用于将指定目录中的所有文件和子目录压缩成一个zip文件。这个函数使用了System.IO.Compression命名空间中的ZipArchive类。它使用ZipFile类的CreateFromDirectory方法来创建zip文件。这个示例将C:\Users\UserName\Documents\MyFolder目录中的所有文件和子目录压缩成一个名为MyFolder.zip的zip文件。首先获取要解压缩的文件名,然后调用UnZip方法来解压缩文件。原创 2023-05-18 14:47:16 · 1761 阅读 · 0 评论 -
winform数据导出CSV
csv是一种逗号分隔值文件格式,其文件以纯文本形式存储表格数据(数字和文本)。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。原创 2022-09-05 12:12:32 · 780 阅读 · 0 评论 -
dataGridView读写文本
DataGridView控件是数据表格控件,属于很常用的控件。⑭ 右键菜单(ContextMenuStrip)的设置。⑧ 列宽和行高以及列头的高度和行头的宽度的自动调整。⑮ 单元格的边框、 网格线样式的设定。⑰ 用户输入时,单元格输入值的设定。① 取得或者修改当前单元格的内容。⑬ 单元格的ToolTip的设置。⑦ 禁止列或者行的Resize。⑤ 行的用户删除操作的自定义。③ 不显示最下面的新行。⑥ 行、列的隐藏和删除。⑯ 单元格表示值的设定。⑱ 设定新加行的默认值。⑪ 行头列头的单元格。原创 2022-09-05 12:01:03 · 343 阅读 · 0 评论 -
c#使用ShellExecute
//class里面放入这段代码[DllImport("shell32.dll")]public static extern int ShellExecute(IntPtr hwnd, StringBuilder lpszOp, StringBuilder lpszFile, StringBuilder lpszParams, StringBuilder lpszDir, int FsShowCmd);//需要打开的地方插入此段代码ShellExecute(IntPtr.Zero, new Str原创 2021-10-26 09:24:15 · 1400 阅读 · 0 评论 -
c#使用mysql进行备份还原
数据备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。原创 2021-10-26 08:52:56 · 676 阅读 · 1 评论