![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
StevenChen85
好好学习,好好工作,心平气和。
展开
-
c# 什么是扩展方法
扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种静态方法,但可以像扩展类型上的实例方法一样进行调用。 对于用 C#、F# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中定义的方法没有明显区别。原创 2024-08-09 20:42:21 · 419 阅读 · 0 评论 -
C# 字符串扩展方法
功能 1.判断一个字符串是否为null或者空字符串 2.判断一个字符串是否为null或者空白字符 3.判断一个字符串是否为数字 4.判断一个字符串是否为邮件 5.判断一个字符串是否为字母加数字 6.判断一个字符串是否为手机号码 7.判断一个字符串是否为电话号码 8.判断一个字符串是否为网址 9.判断一个字符串是否为IP地址原创 2024-08-08 19:47:28 · 645 阅读 · 0 评论 -
C# 枚举 扩展方法
C# 枚举 扩展方法功能 1.获取枚举描述 2.将指定枚举类型转换成List3.将枚举类型转换成ListModel 4.绑定枚举原创 2024-08-08 16:48:06 · 452 阅读 · 0 评论 -
c#怎么折叠代码快捷
这些快捷键可以帮助你快速折叠或展开代码,从而更好地组织和查看你的代码结构。请注意,这些快捷键可能会因为不同的开发环境或设置有所不同,因此建议根据你的开发环境进行相应的调整或确认。在C#中,你可以使用快捷键来折叠或展开代码,以便更好地管理和浏览代码。以下是一些常用的快捷键:。原创 2024-08-07 09:50:52 · 299 阅读 · 0 评论 -
C# FTP常用操作
【代码】C# FTP常用操作。原创 2024-04-19 17:56:15 · 136 阅读 · 0 评论 -
网页端HTML使用MQTTJs订阅RabbitMQ数据
MQTT有一个叫browserMqtt.js看名字就知道是为浏览器提供的JS库。4、由于MQTT的JS库没有提供Topic交换机与路由绑定功能。C#连接RabbitMQ示例代码也是一堆堆的也没什么好说的。1、MQTT的路由是以 / 来分割的。在RabbitMQ中会被转义成 . 如示例中的路由Dcon/Logs/Client会被转换成 Dcon.Logs.Client。后端都是使用RabbitMQ的AMQP协议,而前端要求在网页HTML上显示数据。我们选择了使用MQTT协议从RabbitMQ中订阅数据。原创 2024-04-10 09:25:23 · 911 阅读 · 0 评论 -
net core SSO 单点登录和控制器中获取Token和UserId
net core SSO 单点登录和控制器中获取Token和UserId在写WebApi时常常是要获取登录用户的oken和UserId的,本文就这个需求来分享一下我在实际项目中的处理代码。原创 2024-03-29 09:12:34 · 650 阅读 · 0 评论 -
C# The process cannot access the file ‘XXX_.pdf‘ because it is being used by another process.生成完PDF文
问题出现情况:在新创建一个pdf文件后,前台下载文件时,出现了The process cannot access the file because it is being used by another process 这个问题。原因分析:在生成文件后,已经或关闭相关的文件流操作,但是在使用System.IO.File.OpenRead(fullPath)读取文件时,就出现了上述问题。生成完PDF文件后,再System.IO.File.OpenRead(cdipath)打开报错。原创 2024-03-29 09:05:03 · 818 阅读 · 0 评论 -
net core API 后台系统操作日志的实现思路
我的思路是使用反射,写个通用的比较方法将修改前对象和修改后对象转入,使用反射去比较两个对像的值是否修改,如果修改了将字段的描述名称取出来生成日志。生成的操作日志是:XX人在XX时间修改了用户的【姓名】修改前:xxx,修改后:xxx,【性别】修改前:XXXX,修改后。如果要监控的每个表都去写代码去监控和转换这样的工作量就会比较大。从resultList 集合中可以获取比对结果,下面怎么 处理就看实际需求了。系统操作日志的实现思路主要问题不在于写日志和表结构设计上。主要问题在识别出哪些数据做了修改。原创 2024-03-24 19:57:40 · 456 阅读 · 0 评论 -
net core 使用 Npoi 生成 Word文档
需求:按数据层级生成WORD文件,要有目录,目录里要有真实的页码,附件内容用表格显示,大标题做为封面当独显示一页,PDF内容大标题,目录(里有对应的页码)正文里有 表格重点:NPOI在生成word文件时不会自动生成总页数,所以本人使用了一个固定行索引来计算页码的功能。使用 12号字体,一页是44行,按这个方法计算页码。有更好的方法可以在评论区告诉我。原创 2024-03-14 11:14:40 · 647 阅读 · 0 评论 -
C# 中多线程锁的使用经验
【对象锁】从名称中就可以知道,这锁的范围在对象中,不会影响到其他对象的的调用。原因就是对象里使用对【全局锁】每个对象在调用MoveAbs方法时都会进行排对,第一个线程用完后,第二个线程去用。如果在一个类里定义了这样一个锁,你在调用使用这个类的时候,是NEW了一个对象,并把这个对象给了一个静态全局变量中保存。但在用线程Task调用MoveAbs方法时你会发现,三个轴的运动情况是一个一个的移动。你在调用带锁的方法时会受到【全局锁】的影响。上面的代码中有一个【全局锁】和一个用了【全局锁】的方法。原创 2024-03-13 23:47:50 · 811 阅读 · 0 评论 -
Net Core 使用Mongodb操作文件(上传,下载)
DLL文件:链接:https://pan.baidu.com/s/1SpWDtaXjavalJQav89UE4A?GridFS 介绍 https://baike.baidu.com/item/GridFS/6342715?这里创建的接口是空的,没有要扩展的方法,常用的接口都在 IMongoFileRepository 基类接口中定义了.这里创建的实现类也是空的,没有要扩展的方法,常用的接口都在 MongoFileRepository基类中实现了.使用很简单,在要引用的类库中直接引用DLL文件就可以。原创 2024-03-13 10:25:18 · 488 阅读 · 0 评论 -
C# ConcurrentQueue对列的基本使用方式
队列(Queue)代表了一个的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为,当您从列表中移除一项时,称为。ConcurrentQueue队列是一个高效的线程安全的队列,是.Net Framework 4.0,System.Collections.Concurrent命名空间下的一个数据结构。原创 2024-03-03 13:41:25 · 1161 阅读 · 0 评论