- 博客(46)
- 资源 (2)
- 收藏
- 关注
原创 WinForms 窗体间参数传递
适用场景:子窗体需要将数据回传给父窗体(如对话框确认后返回结果)。通过以上方法,可以灵活地在WinForms窗体间传递参数。避免直接操作控件:尽量通过属性/方法解耦窗体逻辑。适用场景:需要确保窗体唯一实例并跨窗体访问数据。适用场景:在窗体已存在或需要动态更新参数时。适用场景:在创建新窗体时直接传递初始参数。简单传参:优先使用构造函数或公共属性。适用场景:多个窗体共享全局参数。全局共享数据:静态类或单例模式。回调通知:使用事件机制。
2025-04-01 10:52:43
110
原创 Redis 在windows下的下载安装与配置
参考链接:https://developer.aliyun.com/article/1395346下载 Redis访问 Redis 下载地址:https://github.com/tporadowski/redis/releases下载 Redis 时,你可以选择 ZIP 包或 MSI 安装:ZIP包:需要手动解压、初始化、配置和安装 服务,更灵活适合高级用户。MSI安装:自动安装,有安装向导引导,适合初级用户或不熟悉用户。建议根据需求选择。若学习为目的,推荐 ZIP 包安装;
2025-03-20 17:22:40
614
原创 .NET 中实现生产者-消费者模型,BlockingCollection<T> 和 Channel<T>使用示例
方案 2:使用 Channel(异步模型 - 推荐)三、选型建议
2025-02-05 16:54:22
356
原创 .NET 在控制台或者桌面程序中使用依赖注入
1.下载Microsoft.Extensions.DependencyInjection包(具体根据自身项目的版本对应去选择)3.在使用的地方取你想要的类型的实例。2.在Main函数里面写如下代码。我这里选择的是.net80版的。然后就可以愉快的编程了。// 配置依赖注入容器。
2025-01-09 16:39:05
438
原创 C# 进制间&进制与字节数组间的相互转换
2.BytesToBaseString 方法接受一个字节数组和目标进制,然后返回一个表示这些字节的字符串,其中每个字节都转换为了指定的进制。3.BaseStringToBytes 方法接受一个表示字节的字符串和进制,然后返回一个字节数组,其中每个字节都是从字符串中解析出来的。1.ConvertBase 方法接受一个字符串表示的数字、原始进制和目标进制,然后返回转换后的字符串。
2024-12-16 16:44:17
242
原创 System.Text.Json类库进行json转化时ValueKind:Object问题
System.InvalidCastException:“Unable to cast object of type 'System.Text.Json.JsonElement' to type 'System.Int32'.”
2024-10-17 13:56:54
693
原创 .Net 基于IIS部署blazor webassembly或WebApi
选择:控制面板–>程序–>程序和功能选择:启动或关闭Windows功能,勾选相关项,再点击确定即可。
2024-09-28 21:19:21
878
原创 .Net 执行Linux下多行shell命令方法
2.使用3.解释规范化换行符:使用 NormalizeNewlines 方法将所有换行符替换为 LF(\n)。这样可以确保在 Linux 系统上执行时不会出现问题。执行 Shell 命令:使用 ProcessStartInfo 配置进程启动信息。设置 FileName 为 /bin/bash。设置 Arguments 为执行命令所需的参数,使用 -c 参数来执行命令。设置 UseShellExecute 为 false,以便更好地控制进程。设置 RedirectStandardOutput
2024-09-10 13:10:39
548
原创 win10/11安装nvm和nodejs实现版本管理
下载地址:https://github.com/coreybutler/nvm-windows/releases。
2024-09-03 14:04:43
655
原创 C# 事件(Event)定义及其使用
1.定义个委托和类//委托public delegate void ProductEventHandler(Product product);/// <summary>/// 产品/// </summary>public class Product{ public int Id { get; set; } public string Code { get; set; } public string Name { get; set; }
2024-06-13 17:43:46
360
原创 Asp.Net Core Webapi 文件上传、下载、删除常用功能接口
【代码】Asp.Net Core Webapi 文件上传、下载、删除常用功能接口。
2024-06-06 15:08:40
1798
原创 .Net 基于MiniExcel的导入功能接口示例
way1:通过IFormFile,去读取数据转化集合操作数据 /// <summary> /// 导入 /// </summary> /// <param name="formFile"></param> /// <returns></returns> [HttpPost("Import")] public async Task<ExecResult> Import(IFormFile formFile) {
2024-05-31 15:32:45
790
3
原创 C# Linq中的自定义排序
1.开发过程中,会遇到OrderBy/OrderByDescending排序无法满足的情况,此时就需要自定义排序,按照想要的排序规则取排序,比如订单的状态等等。
2024-05-11 10:44:03
690
原创 基于MiniExcel的三种常用导出Excel方法(固定列导出、动态列导出、按模板导出)
为了方便代码编写和测试,把很多代码都放在一个class里面,实际开发根据需要放到对应的目录下即可。
2024-04-02 21:33:36
3111
2
原创 Linux docker下利用shell脚本一键部署.net core应用程序
【代码】Linux docker下利用shell脚本一键部署.net core应用程序。
2024-03-24 15:18:36
231
原创 Webapi(.net6) 批量服务注册
如果不考虑第三方库,如Autofac这种进行服务注入,通过本身的.Core Weabpi实现的,总结了两种实现方法,
2024-03-16 11:09:11
852
原创 C# 常用的树形结构递归算法
上面的示例中,我们定义了一个FactoryModelTree类来表示树节点,其中包含了一个FactoryModel对象和一个子节点列表。然后我们使用FactoryModelHelper类的BuildTree方法来构建树形结构。这个方法接受一个FactoryModel列表和一个parentId作为参数,然后递归地构建树形结构。例子:现有一个FactoryModel表,字段有Id(string),Name(string),Code(string),ParentId(string),Level(int),
2024-01-08 09:20:51
919
原创 mysql字符集和排序规的选择建议
这样可以确保你的数据库能够支持多种语言的存储和排序,同时避免一些常见的字符集问题。当然,具体的选择还取决于你的应用需求,如果有特殊需求,可以根据实际情况进行调整。对于MySQL数据库,选择合适的字符集和排序规则是非常重要的。推荐选择utf8_general_ci,它是不区分大小写的排序规则,适用于大多数情况。排序规则:utf8mb4_general_ci。字符集:utf8mb4。
2023-11-16 14:34:44
709
1
原创 .Net6 批量注册服务
net core及其之后的.net版本,注册服务有多张方法,除了微软本身提供的原原生DI容器,还有第三方的各种容器,比如autofac,unity等等。这里,我打算在.net6下自己实现批量注册服务。
2023-11-02 21:05:44
414
1
原创 C# 如何使用 finally 执行清理代码
finally 语句的用途是确保立即进行对象(通常是容纳外部资源的对象)的必要清理(即使引发异常)。
2023-10-17 16:15:10
215
1
原创 C# switch语句 与 switch表达式
在上述示例中,switch 语句使用以下模式:关系模式(在 C# 9.0 及更高版本中可用):将表达式结果与常量进行比较。常量模式:测试表达式结果是否等于常量。重要有关 switch 语句支持的模式的信息,请参阅模式。上述示例还展示了 default case。default case 指定匹配表达式与其他任何 case 模式都不匹配时要执行的语句。如果匹配表达式与任何 case 模式都不匹配,且没有 default case,控制就会贯穿 switch 语句。
2023-10-17 16:06:20
422
1
原创 C# 动态构建表达式(Expression)
问题来源:前端文本输入框以分隔符(比如"aa|bb|cc")传进来的字符串,针对一个字段做的查询条件;由于该字符串分隔符数量不确定,因此需要动态构建出来;旨在实现例如以下效果:以下是后端代码的相关实现。
2023-10-11 16:12:51
923
1
原创 Filter与Middleware的区别
中间件是ASP.NET Core这个基础提供的功能,而Filter是ASP.NET Core MVC中提供的功能。ASP.NET Core MVC是由MVC中间件提供的框架,而Filter属于MVC中间件提供的功能。
2022-04-23 16:49:12
1297
原创 EFCore 之 IQueryable
所谓IQueryable(此内容来自于杨中科的视频)1、IQueryable只是代表一个“可以放到数据库服务器去执行的查询”,它没有立即执行,只是“可以被执行”而已。2、对于IQueryable接口调用非终结方法的时候不会执行查询,而调用终结方法的时候则会立即执行查询。3、终结方法:遍历、ToArray()、ToList()、Min()、Max()、Count()等;4、非终结方法:GroupBy()、OrderBy()、Include()、Skip()、Take()等。5、简单判断:一个方法的
2022-04-21 12:11:54
1163
原创 node.js下载,安装及其环境配置
**node.js下载,安装及其环境配置****下载**:直接搜node.js官网以上两个版本随便选哪个都行(我选择的是16.13.0)**安装**:下载后直接双击应用程序,一路Next(安装路径可以选择,建议C盘以外盘均可);**环境配置**:这一块配置可以参考一下这个博客(链接如下):https://www.cnblogs.com/KmilyLee/p/10462798.html注意点:上述链接总体没问题,但是在执行npm安装相关操作之前,...
2021-11-13 12:54:17
443
原创 SQL 语法速成手册
(声明:该文章来自于公众号: 开源Linux)一、基本概念数据库术语数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件)。数据表(table) :某种特定类型数据的结构化清单。模式(schema):关于数据库和表的布局及特性的信息。模式定义了数据在表中如何存储,包含存储什么样的数据,数据如何分解,各部分信息如何命名等信息。数据库和表都有模式。列(column):表中的一个字段。所有表都是由一个或多个列组成的。行(row):表中的一个记录。主键(primary key
2021-07-23 10:50:21
144
原创 IIS部署添加网站发布网站
一:IIS部署1.打开“控制面板”–>“程序”–>“启用或关闭Windows功能”,选择安装:其他的根据自己需要;勾选完成后,点击确定,等待完成即可;二:添加网站(可以现在建立一个文件夹叫Test1,所在路径为G:\Test1)搜索IIS–>选择“网站”右击“网站”–>“添加网站”(注意:网站名称可以随意起,一般你自己清楚就行;物理路径就是你想选择的路径;IP地址可以选择“全部未分配”,也可以分配;端口号和其他端口不重复即可;主机名不需要填写;)按照图片数字依次
2021-07-22 13:57:09
1160
原创 ”操作无法完成,因为其中的文件夹或文件已在另一个程序中打开”的解决办法
当我想删除的文件或文件夹出现以上错误的时候,可以复制改文件夹名字,打开任务管理器–>复制到关联的句柄后面的搜索框,关闭对应的进程即可(具体操作如下图)。关闭进程以后,即可删除文件或文件夹。加粗样式...
2021-05-14 14:15:39
3135
原创 C# using使用方法
C# using三种使用方法1.using指令。using + 命名空间名字;2.using别名。using + 别名 = 包括详细命名空间信息的具体的类型。3.using语句,定义一个范围,在using语句块范围结束时释放对象。前面两种大家都很清楚,就不说了,说一下自己对第三种方法的一些理解:可能会有一些伙伴觉得什么时候需要使用using语句块呢,一般可能会认为在创建相关文件操作,数据库操作时会用到using语句块,那还有哪些情况下需要用到using语句块呢?这个时候我们在谈一谈托管代码与非
2020-12-30 09:58:55
853
除非Microsoft FTP 服务(FTPSVC)正在运行,否则无法启动FTP站点。服务目前已停止。
2020-05-30
C++socket.docx
2020-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人