c# 单例模式的实现

  记一下学习单例模式的笔记:  单例就是要保证该类仅有一个实例。实现完全封闭的单例(外部不能new)其实就要两点要求: 全局访问:需要一个该类型的全局静态变量,每次获取实例...

2021-07-15

c# RPC框架的使用简介

写在前面:
  RPC,听过很有段时间了,但是一直都不太清楚是干嘛的,今天我们来捋一捋。解释:
  【Remote Procedure Call Protocol】远程过程调用(就是说,A程序要调用一个b方法,然...

2021-07-15

C#数据结构之最小堆的实现方法

最小堆基本思想:堆对应一棵完全二叉树,且所有非叶结点的值均不大于(或不小于)其子女的值,根结点(堆顶元素)的值是最小(或最大)的,每次都取堆顶的元素,将其放在序列最后面,然后将剩余...

2021-07-15

c# 网络编程之http

目录一、概述
二、 提供服务
三、 响应
四、调试
传送门:
一、概述
本文目的是通过C#代码提供一个HTTP服务,正常情况下如果我们需要向外界提供HTTP服务,常规做法就是通过ASP.NE...

2021-07-15

c# 反射用法及效率对比

反射实例化类public class Person{ public string Name { get; set; } public Person(string name) { this.Name = name; } public string Say(string msg) { r...

2021-07-15

C# 如何实现一个基于值相等性比较的字典

Intro
今天在项目里遇到一个需求,大概是这样的我要比较两个 JSON 字符串是不是相等,JSON 字符串其实是一个 Dictionary<string, string> 但是顺序可能不同,和上一篇 record 使...

2021-07-15

c# 如何用lock解决缓存击穿

目录背景
解决方案
1、设置热点数据永远不过期。2、加互斥锁,互斥锁参考代码如下:总结说明
1、缓存中有数据,直接走下述代码就返回结果了2、缓存中没有数据,第1个进入的线程,获取...

2021-07-15

C#9.0:Init相关总结

目录背景
定义和使用
什么时候设置init访问器
init属性访问器和只读字段
类型层级间的传递
init在接口接口中应用
背景
在以前的C#版本里面,如果需要定义一个不可修改的的类...

2021-07-15

使用C#实现数据结构堆的代码

目录一、 堆的介绍:二、 代码实现:三、 使用测试: 一、 堆的介绍:  堆是用来排序的,通常是一个可以被看做一棵树的数组对象。堆满足已下特性:  1. 堆中某个节点的值总是不大...

2021-07-15

C# 使用PictureBox实现图片按钮控件的示例步骤

目录引言
编译环境及说明图片素材分割
事件处理
OnPaint事件
鼠标交互事件
代码汇总
引言
  我们有时候会在程序的文件夹里看见一些图标,而这些图标恰好是作为按钮的背景图...

2021-07-15

c# 识别图片格式的方法

问题窥探
在有些时候,我们拿到了一张图片。这张图片的格式是 JPG 还是 PNG?是 BMP 还是只有一帧的 GIF?虽然在大部分情况下,你确实可以把一张 PNG 格式的图片保存成 JPG,在电脑上...

2021-07-15

C# 通过NI-VISA操作Tektronix TBS 2000B系列示波器的实现步骤

一、概述本文描述采用C#语言访问控制Tektronix TBS 2000B 系列示波器。接口协议采用NI-VISA。最近一个项目需要和一款示波器进行通信,需要对示波器进行一些简单控制并获取到...

2021-07-15

c# 实现自动扫雷

目录1、获取应用程序窗口2、屏幕截图3、模拟鼠标点击4、游戏算法1)基础算法2)高一级算法3)实在没有找到合适的点,只能随机点开 年前无意看到一个用Python写的小桌面程序,可以...

2021-07-15

C# List 并发丢数据问题原因及解决方案

项目中出了个 BUG,就在我眼皮子底下,很明显的一个 BUG,愣是看了两天才看出来。我有多个任务并发,任务执行完成后都有一个返回结果,我用一个 List 将结果收集起来,等所有任务完成后...

2021-07-15

C#中ManualResetEvent用法总结

简单介绍 多个线程可以通过调用ManualResetEvent对象的WaitOne方法进入等待或阻塞状态。当控制线程调用Set()方法,所有等待线程将恢复并继续执行。ManualResetEvent是如...

2021-07-15

c# 实现语音聊天的实战示例

一、语音聊天说专业点就是即时语音,是一种基于网络的快速传递语音信息的技术,普遍应用于各类社交软件中,优势主要有以下几点:(1)时效性:视频直播会因为带宽问题有时出现延迟高的问...

2021-07-15

C#基于jwt实现分布式登录

目录一、传统的session登录
二、基于token的鉴权机制
三、Json web token
四、JWT的问题
一、传统的session登录
在服务器存储一份用户登录的信息,这份登录信息会在响应时传...

2021-07-15

C# 关于AppDomain的一些总结

目录前言
基本概念
实践
1. 首先准备一个控制台小程序
2. 编写使用 AppDomain 的程序
一些思考
1. 为什么不使用 AppDomain 实例的 Load 方法加载程序集
后记
前言
一直想写...

2021-07-15

C# 脚本引擎RulesEngine的使用详解

当编写应用程序时,经常性需要花费大量的时间与精力处理业务逻辑,往往业务逻辑的变化需要重构或者增加大量代码,对开发测试人员很不友好。之前在这篇文章说过,可以使用脚本引擎来...

2021-07-15

C# HttpClient 如何使用 Consul 发现服务

  试用了Overt.Core.Grpc, 把 GRPC 的使用改造得像 WCF, 性能测试也非常不错, 非常推荐各位使用.
  但已有项目大多是 http 请求, 改造成 GRPC 的话, 工作量比较大, 于...

2021-07-15

C#中word导出功能的骚操作详解

前言马上过牛年了,先祝大家新年好,身体好,心情好!!!年前最后写一篇之前项目开发的一个功能,自己根据系统业务,想到的一个解决办法,效率还是不错的,废话不多说,开整!!!需求:企业填报自己的企...

2021-07-15

c# Newtonsoft.Json 常用方法总结

目录1 实体类的 Json 序列化和反序列化
1.1 Json 序列化
1.2 将不缩进的 JSON 字符串转成缩进形式1.3 其他设置1.4 Json 反序列化2 JObject 使用
2.1 创建对象2.2 JObject...

2021-07-15

c# 连接池的设置与使用

原由:许多用户可能在查询相同的数据库以获取相同的数据。在这些情况下,可以通过使应用程序共享到数据源的连接来提高应用程序的性能。否则,让每个用户打开和关闭单独的连接的开...

2021-07-15

C# 9 新特性——record的相关总结

目录Intro
SampleWhat inside
More
Reference
Intro
C# 9 中引入了 record,record 是一个特殊类,用它来实现 model 在有些情况下会非常的好用Samplerecord RecordPerson{ publ...

2021-07-15

c# 用Dictionary实现日志数据批量插入

背景
最近再做一个需求,就是对站点的一些事件进行埋点,说白了就是记录用户的访问行为。那么这些数据怎么保存呢,人家点一下保存一下?显然不合适,肯定是需要批量保存,提高效率。问...

2021-07-15

C# 忽略大小写进行字符串比较

使用场景
字符串比较在EF或者其他地方使用的时候,字符串的比较非常常见。使用全部转化为大写或者小写进行比较,有时候并不能满足使用需求。所以使用另外的字符串比较非常有意...

2021-07-15

C# 实现视频监控系统(附源码)

  去过工厂或者仓库的都知道,在工厂或仓库里面,会有很多不同的流水线,大部分的工厂或仓库,都会在不同流水线的不同工位旁边安装一台电脑,一方面便于工位上的师傅把产品的重要信...

2021-07-15

C# 开发日志本地化工具

程序员讨厌写文档, 讨厌写注释, 而我还讨厌写日志, 输出一个 "Id=5, 姓名=王大锤, 性别=男, 生日=2020年1月1日" 总归会用到字符串的填充var log = $"Id={person.Id},...

2021-07-15

C#给Word不同页面设置不同背景

给Word文档设置背景时,通常只能针对整篇文档设置统一的背景,如果需要对某些页面单独设置背景,则需要通过另外的方式来实现。本文通过C# 程序代码演示如何来实现。并附VB.NET代...

2021-07-15

c# 并行和多线程编程——认识Parallel

目录一、 Parallel的使用
1、Parallel.Invoke2、Parallel.For3、Parallel.Foreach二、 Parallel中途退出循环和异常处理
1、当我们使用到Parallel,必然是处理一些比较耗时的...

2021-07-15

c# record的使用场景

Intro
之前我们有介绍过 record 基本知识,record 会实现基于值的类型比较,最近遇到的几个问题觉得用 record 来解决会非常方便,分享一下基于值的类型比较
最近有遇到一个场景,需...

2021-07-15

C# Process调用外部程序的实现

前言使用C#调用外部程序,一种是通过Process类,一种是通过命令行,本文主要说一下使用C#中的Process类调用外部程序的方式。过程:1. 创建Process对象
2. 配置启动选项(输入、输出等...

2021-07-15

C#调用usb摄像头的实现方法

1、下载AForge类库,下载地址:https://code.google.com/archive/p/aforge/downloads,我下载的版本是:AForge.NET Framework-2.2.5.exe;
2、下载安装好后,将下载类库中的Release文件...

2021-07-15

C# 网络编程之UDP

一、概述
UDP和TCP是网络通讯常用的两个传输协议,C#一般可以通过Socket来实现UDP和TCP通讯,由于.NET框架通过UdpClient、TcpListener 、TcpClient这几个类对Socket进行了封装,...

2021-07-15

c# WPF中如何自定义MarkupExtension

  在介绍这一篇文章之前,我们首先来回顾一下WPF中的一些基础的概念,首先当然是XAML了,XAML全称是Extensible Application Markup Language (可扩展应用程序标记语言),是专门用...

2021-07-15

C# 创建高精度定时器的示例

背景 我们知道在.NET Framework中存在四种常用的定时器,他们分别是:1 两个是通用的多线程定时器: System.Threading.Timer System.Timers.Timer
2 两个是专用的单线程定时...

2021-07-15

C# 并行和多线程编程——并行集合和PLinq

目录一、并行集合 —— 线程安全集合
二、Parallel Linq的用法及性能
1、AsParallel2、GroupBy方法  在上一篇博客,我们学习了Parallel的用法。并行编程,本质上是多线程的编...

2021-07-15

C# 并行和多线程编程——Task进阶知识

目录 一、Task的嵌套
二、Task的异常处理
一、Task的嵌套
  Task中还可以再嵌套Task,Thread中能不能这样做,我只能说我是没这样写过。Task中的嵌套,我感觉其实也可以分开...

2021-07-15

c# 实现康威生命游戏(细胞自动机)的示例

目录规则(来自百度百科,康威生命游戏词条)
控制台实现的关键接口
代码实现规则(来自百度百科,康威生命游戏词条)
游戏开始时,每个细胞随机地设定为“生”或“死”之一的某个状态。...

2021-07-15

c# 爬取优酷电影信息(1)

目录第一点——加载网页结构
第二点——解析网页结构,转变为符合需求的数据实体第三点——保存数据实体,转变为符合需求的数据实体第四点——main
爬虫的制作主要分为三个方面...

2021-07-15

C#上位机与三菱PLC通讯的实现步骤(图文)

1、三菱 MX COMPONENT下载及安装测试:安装测试
2、通讯测试及数据监控
打开PLC监控程序:

可以看到之前设置的通讯配置,也可以重新设置:

点击OK

在右侧可以输入地址可...

2021-07-15

C#规则引擎RulesEngine的具体使用

当编写应用程序时,经常性需要花费大量的时间与精力处理业务逻辑,往往业务逻辑的变化需要重构或者增加大量代码,对开发测试人员很不友好。之前在这篇文章说过,可以使用脚本引擎来...

2021-07-15

C# 基于消息发布订阅模型的示例(上)

  在我们的开发过程中,我们经常会遇到这样的场景就是一个对象的其中的一些状态依赖于另外的一个对象的状态,而且这两个对象之间彼此是没有关联的,及两者之间的耦合性非常低,特...

2021-07-15

C# 通过Socket读取大量数据的示例

  在C#中经常会用到Socket去接收和发送数据,而且也是非常方便的,有时候我们会向服务端去请求数据,如果返回的数据量很大,比如超过10M甚至是更多,那么该怎样去接收数据呢?下面以...

2021-07-15

c# WPF实现Windows资源管理器(附源码)

目录 第一部分:FileList  第二部分:Navigation   第三部分:BreadCrumbView   今天我来写一篇关于利用WPF来实现Windows的资源管理器功能,当然只是局部实现这个功能,...

2021-07-15

unity实现文字滚动效果

本文实例为大家分享了unity实现文字滚动效果的具体代码,供大家参考,具体内容如下效果:代码:using System.Collections;using System.Collections.Generic;using UnityEngine.UI;...

2021-07-15

c# 提取文档信息的示例

事情时这样,有用友u8的字典数据的帮助文档一份,同事需要把里面的很多张表的字典信息给提取出来,然后构成sql语句,插入数据库。字典就是一张对表里的字段的一个说明,长这样同事一...

2021-07-15

C# 9.0 特性全面总结

目录顶级语句
弃元参数
仅初始化设置器 (Init only setters)
记录类型 (Record)
模式匹配增强
Type patterns 类型匹配,判断一个变量的类型Relational patterns 关系匹配Conjun...

2021-07-15

C# Lambda表达式及Lambda表达式树的创建过程

每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默。...

2021-07-15

C#去除DataTable重复数据的三种方法

业务需求
最近做一个把源数据库的数据批次导出到目标数据库。源数据库是采集程序采集而来的原始数据库,所以需要对其进行一些处理(过滤一些为空,长度太短或太长,非法字符,重复数...

2021-07-15
返回顶部
顶部