经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 C#

重学c#系列——委托和匿名函数[二十五]

前言 简单介绍一下什么是委托。 正文 以前也写过委托,这次算是重新归档,和新的补充吧。 https: www.cnblogs.com/aoximin/p/13940125.html 有些人说委托是函数指针的包装,也有些人说委托是一个方法或多个方法的引用。 这都是没有问题,委托是一个概念,...[2022/11/28]

聊一聊如何截获 C# 程序产生的日志

一:背景 1.讲故事 前段时间分析了一个dump,一顿操作之后,我希望用外力来阻止程序内部对某一个com组件的调用,对,就是想借助外力实现,如果用 windbg 的话,可以说非常轻松,但现实情况比较复杂,客户机没有windbg,也不想加入任何的手工配置,希望全自动化来处理。 真的很无理哈。。。...[2022/11/28]

在C#中使用Halcon开发视觉检测程序

在C#中使用Halcon开发视觉检测程序

目录简介将 HALCON/.NET 添加到应用程序添加控件引用dll调用Halcon算子程序示例HSmartWindowControl控件使用加载、保存图像扩展:加载相机图像画线、画框并保存检测算法抓边算法2D测量模型代码实现使用方法测宽算法附件 简介 本文的初衷是希望帮助那些有其它平台视觉...[2022/11/28]

基于.net C# Socket WinForm MQTT 客户端开发

  1、什么是MQTT?   MQTT(Me age Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish ubscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最...[2022/11/28]

C# Math 中的常用的数学运算

C# Math 中的常用的数学运算

〇、动态库 System.Math.dll 引入动态库 using System.Math; Math 为通用数学函数、对数函数、三角函数等提供常数和静态方法,使用起来非常方便,下边简单列一下常用的几种。 一、舍弃小数位处理 1. 四舍五入 Math.Round() Math.Round(7...[2022/11/28]

Winform控件绑定数据

目录简介绑定基类功能扩展简单控件绑定列表控件绑定绑定BindingList集合绑定DataTable表格绑定BindingSource源表格控件绑定绑定DataTable绑定BindingListUI线程全局类 简介 在C#中提起控件绑定数据,大部分人首先想到的是WPF,其实Winform也...[2022/11/23]

C#多线程(一)线程基础篇

C#多线程(一)线程基础篇

线程基础 视频已经发布到B站 参考文章: 《Threading in C# 》(Joseph Albahari)https: www.albahari.com/threading/ 《Threading in C# 》中文翻译(GKarch ):https: blog.gkarch.com...[2022/11/21]

[C# 中的序列化与反序列化](.NET 源码学习)

[C# 中的序列化与反序列化](.NET 源码学习) 关键词:序列化(概念与分析)    三种序列化(底层原理 源码)    Stream(底层原理 源码)    反射(底层原理 源码) 假如有一天我们要...[2022/11/21]

用最少的代码模拟gRPC四种消息交换模式

我们知道,建立在HTTP2/3之上的gRPC具有四种基本的通信模式或者消息交换模式(MEP: Me age Exchange Pattern),即Unary、Server Stream、Client Stream和Bidirectional Stream。本篇文章通过4个简单的实例演示它们在.N...[2022/11/21]

C#11之原始字符串

C#11之原始字符串

最近.NET7.0和C#11相继发布,笔者也是第一时间就用上了C#11,其中C#11的有一个更新能解决困扰我多年的问题,也就是文章的标题原始字符串。 在使用C#11的原始字符串时,发现的一些有意思的东西,超出了我原本对它的期待,话不多说,我们一起来看看。 多年的困扰 我不知道大家有没有写过这...[2022/11/19]

c#入参使用引用类型为啥要加ref?

摘一段来自官网的说明 :方法的参数列表中使用 ref 关键字时,它指示参数按引用传递,而非按值传递。 ref 关键字让形参成为实参的别名,这必须是变量。 换而言之,对形参执行的任何操作都是对实参执行的。 大体意思就是将实惨的引用作为参数传递,如果入参不加ref修饰,本身传递的是实参的值到方法中...[2022/11/19]

重学c#系列——动态类型[二十二]

前言 该系列准备继续完善,一共108篇,持续更新。 正文 为什么有动态类型呢? 是因为很多东西天生就是动态类型的。 比如xml 和 json、cvs、数据库表,这些本来就是数据类型的。 在反射系列中提及到,为什么有发送呢? 是因为只有在运行的时候你才能知道他是什么类型。 同样的xml、...[2022/11/19]

一个超经典 WinForm 卡死问题的再反思

一个超经典 WinForm 卡死问题的再反思

一:背景 1.讲故事 这篇文章起源于昨天的一位朋友发给我的dump文件,说它的程序出现了卡死,看了下程序的主线程栈,居然又碰到了 OnUserPreferenceChanged 导致的挂死问题,真的是经典中的经典,线程栈如下: 0:000:x86> !clrstack OS Threa...[2022/11/17]

【炫丽】从0开始做一个WPF+Blazor对话小程序

大家好,我是沙漠尽头的狼。 .NET是免费,跨平台,开源,用于构建所有应用的开发人员平台。 本文演示如何在WPF中使用Blazor开发漂亮的UI,为客户端开发注入新活力。 注 要使WPF支持Blazor,.NET版本必须是 6.0 或更高版本,本文所有示例使用的.NET 7.0,版本要...[2022/11/17]

C#多线程(三)线程高级篇

前言 抛开死锁不谈,只聊性能问题,尽管锁总能粗暴的满足同步需求,但一旦存在竞争关系,意味着一定会有线程被阻塞,竞争越激烈,被阻塞的线程越多,上下文切换次数越多,调度成本越大,显然在高并发的场景下会损害性能。在高并发高性能且要求线程安全的述求下,无锁构造(非阻塞构造)闪亮登场。 参考文档: C...[2022/11/17]

C#中TextBox的横线样式及占位提示详解

目录文章描述开发环境开发工具实现代码实现效果 文章描述 可能我标题描述不太准确,所以还是要稍微解释下:横线样式就是将TextBox以一条底横线的形式展示在页面,占位提示就是Web的Placeholder属性,即在输入框没有内容的时候进行一个输入提示。其实以上两个功能,无论是在Web还是WPF中,...[2022/11/17]

C#?OpenCV实现形状匹配的方法详解

1. 多角度模板匹配测试效果如下图: 图1-1  图1-2 图1-3 正负角度均可正常识别,识别角度偏差<1° 2. 下面分享一下开发过程: a). ROI区域的生成,基于GDI+完成图形绘制,如图 绘制模板设置区域,用来...[2022/9/20]

C#序列化与反序列化集合对象并进行版本控制

当涉及到跨进程甚至是跨域传输数据的时候,我们需要把对象序列化和反序列化。 首先可以使用Serializable特性。 [Serializable] public cla Person { public string _firstName; ...[2022/9/15]

C#?Winform消息通知之系统本地通知local?toast?notification

目录引言toast 通知的结构发送本地toast通知的操作步骤安装NuGet包Microsoft.Toolkit.Uwp.Notifications通知的发送(文本通知)处理点击通知的操作通知的卸载设置通知的过期时间.NET应用使用Toast Notifications(.NET5+)添加图像使用h...[2022/8/23]

C#如何提取经纬度文件中的经纬度数据

目录前言:一、界面设计二、效果展示三、代码逻辑总结: 前言: 之前我们使用对List将数据封装进KML经纬度文件中,今天我们来学习一下如何将经纬度文件中的经纬度数据读出来,并保存在变量中,这个变量可以是list也可以是数组,只要能储存数据就可以,我们对KML文件中的Point数据下面的coord...[2022/8/23]

C#实现封面图片生成器的示例代码

目录实现功能开发环境实现代码实现效果 这个东西我已经用了有段时间了,从开始写文章就在用这个,主要原因还是因为我比较懒。懒得去寻找图片,同时又怕万一惹来版权争议。。。 跟我所有的文章的封面图一样,一个纯色背景加上文字自动生成一个指定大小的图片。 代码实现也比较简单,如果有兴趣的话,可以自...[2022/8/22]

C#模拟实现鼠标自动点击与消息发送功能

目录实现功能开发环境实现代码实现效果 一个简单的实现版本,没有去Hook键鼠等操作,事先录制好操作步骤(将鼠标移动到需要操作的位置,按下热键执行相应动作),点击运行即可。 主要还是用windows api来实现,模拟点击、右击、双击、发送文本等。 代码可能略长一点,下面发下关键代码...[2022/8/22]

基于C#实现简易的键盘记录器

目录实现功能开发环境实现代码实现效果 利用HOOK技术来做一个键盘记录器,看看一天下来,我们点击了多少次键盘,哪些键的使用频率最高。 实现功能 使用C#实现一个键盘记录器 开发环境 开发工具: Visual Studio 2013 .NET Framework版本:4.5 ...[2022/8/22]

C#实现创建标签PDF文件的示例代码

目录关于“标签PDF文件(Tagged PDF)关于“标签(Tag)PDF标签的用处及意义如何创建标签PDF文件 关于“标签PDF文件(Tagged PDF) 标签PDF文件包含描述文档结构和各种文档元素顺序的元数据,是一种包含后端提供的可访问标记,管理阅读顺...[2022/8/16]

C#校验时间格式的场景分析

C#校验时间格式的场景分析

目录前言:场景描述前戏一前戏二正戏尾戏 前言: 晚上打算睡觉的时候,群里反馈订单接收失败,开工排查问题,日志显示验签失败,发现一个蛮有意思的BUG,总算有了一个写作的素材 场景描述 本次的场景属于比较常见的收单API,对第三方的订单进行签名验证,然后持久化到数据库,签名规则大致是将参数k...[2022/8/3]

C#实现学生成绩管理系统

本文实例为大家分享了C#实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 使用链表写学生成绩管理系统 链表可以灵活的展示增删改查 下面是结果演示 这是登录及部分添加 继续添加 继续添加及输出成绩 学生成绩查询 学生信息修改再输出 ...[2022/8/2]

C#实现简单学生成绩管理系统

本文实例为大家分享了C#实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 C#作业 用循环结构/数组实现 进入启动页面 管理员身份登入 用户名:师晓峰密码:88481234 学生成绩输入 默认输入三位同学 学生成绩输出 学生成绩查询 ...[2022/8/2]

C#实现从PDF中提取表格的方法详解

目录程序环境从PDF中提取表格具体步骤完整代码 PDF是办公中比较常见的一种文件格式,在工作中应用也越来越普遍。由于PDF文件集成度和安全可靠性都较高,所以在PDF中编辑内容是一件比较复杂且困难的事。但有时因工作需要,要求我们从中提取数据或表格该怎么办呢?别担心,今天为大家介绍一种通过C#/VB.N...[2022/8/2]

C#中流的使用和分类

C#中流的使用和分类

使用流读取、写入文件 使用流把文件读取到字节数组: FileMode.Create, FileMode.Append FileAcce .Write, FileAcce .ReadWrite FileMode和FileAcce 搭配使用,如果第二个参数FileMode.Appd...[2022/8/1]

C#实现对象的序列化和反序列化

C#实现对象的序列化和反序列化

什么是序列化和反序列化: 将对象及其状态保存起来,通常是保存到文件中,叫序列化。将文件还原为对象,叫反序列化。 序列化和反序列化的接口和帮助类: 接口IFormatterobject Deserialize(Stream serializactionStream)void Serialize...[2022/8/1]

C#自定义集合初始化器

C#自定义集合初始化器

对int类型集合初始化,这样写: static void Main(string[] args) { var list = new List<int> {0, 1}; foreach (var i...[2022/8/1]

C#使用反射机制实现延迟绑定

C#使用反射机制实现延迟绑定

反射允许我们在编译期或运行时获取程序集的元数据,通过反射可以做到: ● 创建类型的实例● 触发方法● 获取属性、字段信息● 延迟绑定...... 如果在编译期使用反射,可通过如下2种方式获取程序集Type类型: 1、Type类的静态方法 Type type = Type.GetType(...[2022/8/1]

C#中ref关键字的用法

C#中ref关键字的用法

在C#中,如果在方法参数前面加上ref关键字,说明参数传递的是引用,而不是值。如何理解呢? 参数是简单类型的例子 static void Main(string[] args) { string temp = "a"; ...[2022/8/1]

C#?中的partial?关键字详解

C#?中的partial?关键字详解

目录引言分部类partial 分部限制分部接口和结构分部方法this 和 partial 的区别 引言 partial 关键字用于拆分一个类、一个结构、一个接口或一个方法的定义到两个或更多的文件中。 每个源文件包含类型或方法定义的一部分,编译应用程序时将把所有部分组合起来。在设计 Framewo...[2022/7/25]

C#中的modbus&nbsp;Tcp协议的数据抓取和使用解析

C#中的modbus&nbsp;Tcp协议的数据抓取和使用解析

目录C# modbus Tcp协议数据抓取和使用C# modbus tcp读写数据 C# modbus Tcp协议数据抓取和使用 基于Modbus tcp 协议的数据抓取,并解析,源码使用C#开发 using System; using System.Collections.Generic...[2022/7/19]

C#实现添加多行文本水印到Word文档

目录dll引用添加多行多列文字水印实现代码 一般情况下,在Word中添加文字水印仅支持添加一个文本字样的水印,但在复杂的办公环境中,由于对不同文档的设计要求,需要在Word文档中添加平铺水印效果,即文档中的水印文字以多行多列分布的形式存在。本文将介绍如何来实现该水印效果的方法,下面是详细步骤及方法。...[2022/7/19]

C#实现自定义线程池实例代码

在项目中如果是web请求时候,IIS会自动分配一个线程来进行处理,如果很多个应用程序共享公用一个IIS的时候,线程分配可能会出现一个问题(当然也是我的需求造成的) 之前在做项目的时候,有一个需求,就是当程序启动的时候,希望能够启动一定数目的线程,然后每一个线程始终都是在运行的状态,不进行释放,...[2022/7/19]

C#中WPF内存回收与释放LierdaCracker的实现

使用wpf程序常常会出现一个问题,那就是内存占用过高,使用wpf的程序功能越复杂往往用着用着内存就本着90往上去了。 一方面wpf本身是一个ui框架,对图像以及界面的渲染虽然提高了软件的美观性,但实际使用过程中调用和消耗了大量的内存来进行协同处理;另一方面这些调用的内存的确在使用完成之后并没有...[2022/7/4]

C#实现万物皆可排序的队列方法详解

需求 产品中需要向不同的客户推送数据,原来的实现是每条数据产生后就立即向客户推送数据,走的的是HTTP协议。因为每条数据都比较小,而数据生成的频次也比较高,这就会频繁的建立HTTP连接,而且每次HTTP传输中携带的业务数据都很小,对网络的实际利用率不高。希望能够提高网络的利用率,并降低系统的负载...[2022/7/4]

C#对桌面应用程序自定义鼠标光标

有的时候,一个自定义的鼠标光标能给你的程序增色不少。本文这里介绍一下如何在.net桌面程序中自定义鼠标光标。由于.net的桌面程序分为WinForm和WPF两种,这里分别介绍一下。 WinForm程序 对于WinForm程序,可以通过修改Control.Cursor属性来实现光标的修改,如果...[2022/6/27]

C#&nbsp;Unicode编码解码的实现

Unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。 在表示一个Unicode的字符时,通常会用&ldqu...[2022/6/21]

C#中使用Cache框架快速实现Cache操作

.NET 4.0中新增了一个System.Runtime.Caching的名字空间,它提供了一系列可扩展的Cache框架,本文就简单的介绍一下如何使用它给程序添加Cache。 一个Cache框架主要包括三个部分:ObjectCache、CacheItemPolicy、ChangeMonitor...[2022/6/20]

C#实现快速查询文件的方法

相信使用过Everything的人都对其超快的搜索速度印象非常深刻,它的主要原理是通过扫描NTFS磁盘的USN Journal读取的文件列表,而不是磁盘目录,由于USN Journal非常小,因此能实现快速搜索。 由于.Net程序的Dll基本上是通用的,在C#中也可以直接使用它。 ...[2022/6/20]

C#中的composite模式示例详解

目录写在前面一个简单例子基层员工类经理类公司架构类客户端代码再想一下使用组合模式进行重构透明型安全型重构后的代码(透明型) 写在前面 Composite组合模式属于设计模式中比较热门的一个,相信大家对它一定不像对访问者模式那么陌生,毕竟谁又没有遇到过树形结构呢。不过所谓温故而知新,我们还是从一个...[2022/6/20]

C#集合查询Linq在项目中使用详解

目录Linq LambdaLinq项目中的一次使用经历Linq to js [在前端的应用] 要说哪门后端语言的语法优雅,那就不得不提C#,而在我看来,LINQ语法可以说是其优雅的重要一环! 通常后端从数据库查询出来的数据并不是直接返回给前端使用的(不然前端....),而是需要进行二次的加工筛选...[2022/5/30]

C#?泛型集合类List&lt;T&gt;使用总结

目录为什么选择使用List,而不是使用Array,或者ArryList去重、交集、并集、差集操作重写Equals() 和 GetHashCode()简单使用 C#中List可谓是使用最广泛的一种数据类型了,使用他来规范数据时,往往会涉及到对数据的处理操作,相关处理数据方法也非常丰富,本文将简单介绍为...[2022/5/30]

C#并行编程之Task任务

C#并行编程之Task任务

任务,基于线程池。其使我们对并行编程变得更简单,且不用关心底层是怎么实现的。System.Threading.Tasks.Task类是Task Programming Library(TPL)中最核心的一个类。 一、任务与线程 1:任务是架构在线程之上的,也就是说任务最终还是要抛给线程去执行...[2022/5/9]

C#使用SharpZipLib压缩解压文件

C#使用SharpZipLib压缩解压文件

一、介绍 SharpZipLib是一个完全由C#编写的ZIP,GZIP,Tar和BZIP2 Library,可以方便的支持这几种格式的压缩和解压缩。 https: github.com/icsharpcode/SharpZipLib 下载解压SharpZipLib ,将 ICSha...[2022/5/9]

事务在c#中的使用

目录一、概述1、事务ACID特性2、.NET开发者用到的5种事务机制:二、数据库事务1、不同数据库的事务规则2、数据库事务的优势和限制(1)优势:(2)限制:三、ADO.Net事务四、System.EnterpriseServices自动事务处理五、System.Transactions事务1、显式...[2022/5/9]

C#使用读写锁解决多线程并发问题

一、简介 在开发程序的过程中,难免少不了写入错误日志这个关键功能。实现这个功能,可以选择使用第三方日志插件,也可以选择使用数据库,还可以自己写个简单的方法把错误信息记录到日志文件。现在我们来讲下最后一种方法: 在选择最后一种方法实现的时候,若对文件操作与线程同步不熟悉,问题就有可能出现了,因...[2022/4/18]

147
2
记录数:2423 页数:1/4912345678910下一页尾页
 友情链接: NPS
加载更多