随笔分类 -  csharp

摘要:Quartz.NET 是一个功能强大的开源任务调度库,适用于 .NET 平台,用于定时执行任务。它支持简单的定时任务和复杂的调度需求,广泛应用于定时发送邮件、备份数据库、生成报表等场景。主要组件包括调度器(Scheduler)、任务(Job)、触发器(Trigger)和任务详情(JobDetail)。通过实现 `IJob` 接口创建任务类,并使用 `StdSchedulerFactory` 启动调度程序。可以通过 `SimpleTrigger` 或 `CronTrigger` 定义任务的执行时间。对于耗时任务,可以使用 `[DisallowConcurrentExecution]` 特性确保任务在上一次执行完成后才开始下一次执行。 阅读全文
posted @ 2025-01-21 14:18 少年。 阅读(12) 评论(0) 推荐(0) 编辑
摘要:示例项目结构 在 Visual Studio 中创建一个 WinForms 应用程序后,项目结构如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ 阅读全文
posted @ 2024-09-10 16:54 少年。 阅读(251) 评论(1) 推荐(1) 编辑
摘要:LiteDB 是一个轻量级的嵌入式 NoSQL 数据库,其设计理念与 MongoDB 类似,但它是完全使用 C# 开发的,因此与 C# 应用程序的集成非常顺畅。与 SQLite 相比,LiteDB 提供了 NoSQL(即键值对)的数据存储方式,并且是一个开源且免费的项目。它适用于桌面、移动以及 We 阅读全文
posted @ 2024-04-12 15:16 少年。 阅读(1803) 评论(1) 推荐(2) 编辑
摘要:使用 Quartz.NET,你可以很容易地安排任务在应用程序启动时运行,或者每天、每周、每月的特定时间运行,甚至可以基于更复杂的调度规则。 官网:http://www.quartz-scheduler.net/ 实现任务类 创建一个实现了 IJob 接口的类(MailJobTest),该接口包含一个 阅读全文
posted @ 2024-04-11 10:37 少年。 阅读(791) 评论(1) 推荐(0) 编辑
摘要:gRPC 是一种高性能、开源的远程过程调用(RPC)框架,支持多种编程语言。本文将介绍如何在 C# 中使用 gRPC 进行通讯,包括创建 gRPC 服务文件、封装服务端和客户端类库,以及进行简单的测试。 参考 : C#封装GRPC类库及调用简单实例 - wtc87 - 博客园 (cnblogs.co 阅读全文
posted @ 2024-04-10 17:05 少年。 阅读(134) 评论(0) 推荐(0) 编辑
摘要:监听按键测试的方法ButtonTest。该方法接受一个方法参数和一个字符串参数,并执行按键测试操作 /// <summary> /// 下指令按键测试 /// </summary> /// <param name="func">传入方法, _button.ButtonTest(() =&gt; Bt 阅读全文
posted @ 2024-01-18 12:00 少年。 阅读(24) 评论(0) 推荐(0) 编辑
摘要:用于在对象被销毁时执行清理操作。它与构造函数相反,构造函数用于在对象创建时执行初始化操作。 析构函数是用于释放资源和执行清理操作的特殊方法 析构函数的名称与类名相同,但前面加上一个波浪线(~)作为前缀 析构函数在对象被销毁之前自动调用 // 析构函数 ~ClassName() { // 析构函数的代 阅读全文
posted @ 2023-11-06 11:53 少年。 阅读(283) 评论(0) 推荐(0) 编辑
摘要:声明模式 首先检查value的类型,然后根据类型输出相应的消息 public void ShowMessage(object value) { switch (value) { case int i: Console.WriteLine($"value is int:{i}"); break; ca 阅读全文
posted @ 2023-11-06 10:40 少年。 阅读(207) 评论(0) 推荐(0) 编辑
摘要:METest是一个用于测试C#代码的单元测试框架。单元测试是一种软件测试方法,用于验证代码的各个单元(函数、方法、类等)是否按照预期工作。METest提供了一种简单而强大的方式来编写和运行单元测试。 TestMethod:这是一个特性,用于标记测试方法。 Assert:这是一个断言类,用于验证测试结 阅读全文
posted @ 2023-11-03 11:10 少年。 阅读(45) 评论(0) 推荐(0) 编辑
摘要:将字符串转换为整数类型。为了方便,C#提供了一个内置的方法TryParse来实现这个功能 字符串(String):表示一串字符的数据类型。 整数(Integer):表示不带小数点的数字。 解析(Parsing):将字符串转换为其他数据类型的过程。 TryParse TryParse方法是一个静态方法 阅读全文
posted @ 2023-11-03 10:32 少年。 阅读(64) 评论(0) 推荐(0) 编辑
摘要:字符串格式化是一种将变量的值插入到字符串中的方法。它允许我们创建动态的字符串,其中包含变量的值。 string.Format 通过在字符串中使用占位符{0},{1}等,我们可以指定要插入的变量的位置。然后,通过在string.Format方法的参数中提供相应的变量值,我们可以将这些值插入到字符串中 阅读全文
posted @ 2023-11-03 10:18 少年。 阅读(49) 评论(0) 推荐(0) 编辑
摘要:Null 条件运算符(?.)和空合并运算符(??)是用于处理可能为空的对象的特殊运算符 Null 条件运算符(?.)用于在访问对象的属性或调用对象的方法之前,先检查对象是否为空。如果对象为空,运算符将返回 null,否则将继续执行后续操作。 空合并运算符(??)用于在对象为空时提供一个默认值。如果对 阅读全文
posted @ 2023-11-03 09:41 少年。 阅读(108) 评论(0) 推荐(0) 编辑
摘要:使用C#中的Console.MoveBufferArea方法来移动控制台的缓冲区。控制台缓冲区是一个用于存储控制台输出的内存区域。通过移动缓冲区,我们可以在控制台上创建自定义的输出布局 控制台缓冲区:控制台缓冲区是一个二维字符数组,用于存储控制台输出的字符。它的大小由控制台的宽度和高度决定。 Con 阅读全文
posted @ 2023-11-03 09:36 少年。 阅读(47) 评论(0) 推荐(0) 编辑
摘要:匿名类是一种特殊的类,它允许我们在不定义具体类的情况下创建一个临时的、只有属性的类。匿名类通常用于临时存储和传递数据,特别是在LINQ查询中非常有用 匿名类在linq to sql或者entity framework中返回查询数据时很好用。 匿名类是一种临时的、只有属性的类。 匿名类的属性可以根据需 阅读全文
posted @ 2023-11-03 09:25 少年。 阅读(62) 评论(0) 推荐(0) 编辑
摘要:partial是局部类型的意思。允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。C#编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类 使用事项 关键字partial是一个上下文关键字,只有和 class、struct、interface 放在一起时才有关键字的 阅读全文
posted @ 2023-11-03 08:50 少年。 阅读(39) 评论(0) 推荐(0) 编辑
摘要:c#耗时及性能监测 在编程中,我们经常需要测量代码的执行时间,以便评估代码的性能和效率 命名空间 using System.Diagnostics; 字段 字段说明 Frequency 获取以每秒刻度数表示的计时器频率。此字段为只读。 IsHighResolution 指示计时器是否基于高分辨率性能 阅读全文
posted @ 2023-10-31 15:28 少年。 阅读(220) 评论(0) 推荐(0) 编辑
摘要:在C#中如果想要执行一段一直运行的程序,如监听网络状态,实时读取PLC数据,遇到这种情况有多种解决方法。 方法一,可以起一个Task任务,在Task任务中写个死循环,这种死循环最好在最后写个 Thread.Sleep,不然程序会占用很高的CPU。 //用于创建并启动任务的方法。它接受一个委托作为参数 阅读全文
posted @ 2023-10-31 14:33 少年。 阅读(331) 评论(0) 推荐(0) 编辑
摘要:在Windows系统中点击文件后获取到文件完整路径 /// <summary> /// 获取Windows当前选中的文件或文件夹的完整路径 /// </summary> /// <returns>完整路径</returns> private static string GetWindowsSelec 阅读全文
posted @ 2023-10-30 17:14 少年。 阅读(68) 评论(0) 推荐(0) 编辑
摘要:用于控件大小随窗体大小等比例缩放的C#代码。该代码可以在窗体重载中使用,以确保窗体中的控件在窗体大小改变时能够按比例缩放。 SetTag方法:该方法用于设置控件的Tag属性,以存储控件的宽度、高度、左边距、顶边距和字体大小等信息。 SetControls方法:该方法用于遍历窗体中的控件,并根据窗体缩 阅读全文
posted @ 2023-10-30 16:52 少年。 阅读(86) 评论(0) 推荐(0) 编辑
摘要:十六进制字符串:由0-9和A-F组成的字符串,表示十六进制数。 十进制数:由0-9组成的数字,表示十进制数。 /// <summary> /// 十六进制字符串转十进制 /// </summary> /// <param name="str">十六进制字符</param> /// <returns> 阅读全文
posted @ 2023-10-30 15:37 少年。 阅读(684) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示