c# 单例模式的实现
记一下学习单例模式的笔记: 单例就是要保证该类仅有一个实例。实现完全封闭的单例(外部不能new)其实就要两点要求: 全局访问:需要一个该类型的全局静态变量,每次获取实例...
记一下学习单例模式的笔记: 单例就是要保证该类仅有一个实例。实现完全封闭的单例(外部不能new)其实就要两点要求: 全局访问:需要一个该类型的全局静态变量,每次获取实例...
写在前面:
RPC,听过很有段时间了,但是一直都不太清楚是干嘛的,今天我们来捋一捋。解释:
【Remote Procedure Call Protocol】远程过程调用(就是说,A程序要调用一个b方法,然...
最小堆基本思想:堆对应一棵完全二叉树,且所有非叶结点的值均不大于(或不小于)其子女的值,根结点(堆顶元素)的值是最小(或最大)的,每次都取堆顶的元素,将其放在序列最后面,然后将剩余...
目录一、概述
二、 提供服务
三、 响应
四、调试
传送门:
一、概述
本文目的是通过C#代码提供一个HTTP服务,正常情况下如果我们需要向外界提供HTTP服务,常规做法就是通过ASP.NE...
反射实例化类public class Person{ public string Name { get; set; } public Person(string name) { this.Name = name; } public string Say(string msg) { r...
Intro
今天在项目里遇到一个需求,大概是这样的我要比较两个 JSON 字符串是不是相等,JSON 字符串其实是一个 Dictionary<string, string> 但是顺序可能不同,和上一篇 record 使...
目录背景
解决方案
1、设置热点数据永远不过期。2、加互斥锁,互斥锁参考代码如下:总结说明
1、缓存中有数据,直接走下述代码就返回结果了2、缓存中没有数据,第1个进入的线程,获取...
目录背景
定义和使用
什么时候设置init访问器
init属性访问器和只读字段
类型层级间的传递
init在接口接口中应用
背景
在以前的C#版本里面,如果需要定义一个不可修改的的类...
目录一、 堆的介绍:二、 代码实现:三、 使用测试: 一、 堆的介绍: 堆是用来排序的,通常是一个可以被看做一棵树的数组对象。堆满足已下特性: 1. 堆中某个节点的值总是不大...
目录引言
编译环境及说明图片素材分割
事件处理
OnPaint事件
鼠标交互事件
代码汇总
引言
我们有时候会在程序的文件夹里看见一些图标,而这些图标恰好是作为按钮的背景图...
问题窥探
在有些时候,我们拿到了一张图片。这张图片的格式是 JPG 还是 PNG?是 BMP 还是只有一帧的 GIF?虽然在大部分情况下,你确实可以把一张 PNG 格式的图片保存成 JPG,在电脑上...
一、概述本文描述采用C#语言访问控制Tektronix TBS 2000B 系列示波器。接口协议采用NI-VISA。最近一个项目需要和一款示波器进行通信,需要对示波器进行一些简单控制并获取到...
项目中出了个 BUG,就在我眼皮子底下,很明显的一个 BUG,愣是看了两天才看出来。我有多个任务并发,任务执行完成后都有一个返回结果,我用一个 List 将结果收集起来,等所有任务完成后...
简单介绍 多个线程可以通过调用ManualResetEvent对象的WaitOne方法进入等待或阻塞状态。当控制线程调用Set()方法,所有等待线程将恢复并继续执行。ManualResetEvent是如...
一、语音聊天说专业点就是即时语音,是一种基于网络的快速传递语音信息的技术,普遍应用于各类社交软件中,优势主要有以下几点:(1)时效性:视频直播会因为带宽问题有时出现延迟高的问...
目录一、传统的session登录
二、基于token的鉴权机制
三、Json web token
四、JWT的问题
一、传统的session登录
在服务器存储一份用户登录的信息,这份登录信息会在响应时传...
目录前言
基本概念
实践
1. 首先准备一个控制台小程序
2. 编写使用 AppDomain 的程序
一些思考
1. 为什么不使用 AppDomain 实例的 Load 方法加载程序集
后记
前言
一直想写...
当编写应用程序时,经常性需要花费大量的时间与精力处理业务逻辑,往往业务逻辑的变化需要重构或者增加大量代码,对开发测试人员很不友好。之前在这篇文章说过,可以使用脚本引擎来...
试用了Overt.Core.Grpc, 把 GRPC 的使用改造得像 WCF, 性能测试也非常不错, 非常推荐各位使用.
但已有项目大多是 http 请求, 改造成 GRPC 的话, 工作量比较大, 于...
前言马上过牛年了,先祝大家新年好,身体好,心情好!!!年前最后写一篇之前项目开发的一个功能,自己根据系统业务,想到的一个解决办法,效率还是不错的,废话不多说,开整!!!需求:企业填报自己的企...
目录1 实体类的 Json 序列化和反序列化
1.1 Json 序列化
1.2 将不缩进的 JSON 字符串转成缩进形式1.3 其他设置1.4 Json 反序列化2 JObject 使用
2.1 创建对象2.2 JObject...
原由:许多用户可能在查询相同的数据库以获取相同的数据。在这些情况下,可以通过使应用程序共享到数据源的连接来提高应用程序的性能。否则,让每个用户打开和关闭单独的连接的开...
目录Intro
SampleWhat inside
More
Reference
Intro
C# 9 中引入了 record,record 是一个特殊类,用它来实现 model 在有些情况下会非常的好用Samplerecord RecordPerson{ publ...
背景
最近再做一个需求,就是对站点的一些事件进行埋点,说白了就是记录用户的访问行为。那么这些数据怎么保存呢,人家点一下保存一下?显然不合适,肯定是需要批量保存,提高效率。问...
使用场景
字符串比较在EF或者其他地方使用的时候,字符串的比较非常常见。使用全部转化为大写或者小写进行比较,有时候并不能满足使用需求。所以使用另外的字符串比较非常有意...
去过工厂或者仓库的都知道,在工厂或仓库里面,会有很多不同的流水线,大部分的工厂或仓库,都会在不同流水线的不同工位旁边安装一台电脑,一方面便于工位上的师傅把产品的重要信...
程序员讨厌写文档, 讨厌写注释, 而我还讨厌写日志, 输出一个 "Id=5, 姓名=王大锤, 性别=男, 生日=2020年1月1日" 总归会用到字符串的填充var log = $"Id={person.Id},...
给Word文档设置背景时,通常只能针对整篇文档设置统一的背景,如果需要对某些页面单独设置背景,则需要通过另外的方式来实现。本文通过C# 程序代码演示如何来实现。并附VB.NET代...
目录一、 Parallel的使用
1、Parallel.Invoke2、Parallel.For3、Parallel.Foreach二、 Parallel中途退出循环和异常处理
1、当我们使用到Parallel,必然是处理一些比较耗时的...
Intro
之前我们有介绍过 record 基本知识,record 会实现基于值的类型比较,最近遇到的几个问题觉得用 record 来解决会非常方便,分享一下基于值的类型比较
最近有遇到一个场景,需...
前言使用C#调用外部程序,一种是通过Process类,一种是通过命令行,本文主要说一下使用C#中的Process类调用外部程序的方式。过程:1. 创建Process对象
2. 配置启动选项(输入、输出等...
1、下载AForge类库,下载地址:https://code.google.com/archive/p/aforge/downloads,我下载的版本是:AForge.NET Framework-2.2.5.exe;
2、下载安装好后,将下载类库中的Release文件...
一、概述
UDP和TCP是网络通讯常用的两个传输协议,C#一般可以通过Socket来实现UDP和TCP通讯,由于.NET框架通过UdpClient、TcpListener 、TcpClient这几个类对Socket进行了封装,...
在介绍这一篇文章之前,我们首先来回顾一下WPF中的一些基础的概念,首先当然是XAML了,XAML全称是Extensible Application Markup Language (可扩展应用程序标记语言),是专门用...
背景 我们知道在.NET Framework中存在四种常用的定时器,他们分别是:1 两个是通用的多线程定时器: System.Threading.Timer System.Timers.Timer
2 两个是专用的单线程定时...
目录一、并行集合 —— 线程安全集合
二、Parallel Linq的用法及性能
1、AsParallel2、GroupBy方法 在上一篇博客,我们学习了Parallel的用法。并行编程,本质上是多线程的编...
目录 一、Task的嵌套
二、Task的异常处理
一、Task的嵌套
Task中还可以再嵌套Task,Thread中能不能这样做,我只能说我是没这样写过。Task中的嵌套,我感觉其实也可以分开...
目录规则(来自百度百科,康威生命游戏词条)
控制台实现的关键接口
代码实现规则(来自百度百科,康威生命游戏词条)
游戏开始时,每个细胞随机地设定为“生”或“死”之一的某个状态。...
目录第一点——加载网页结构
第二点——解析网页结构,转变为符合需求的数据实体第三点——保存数据实体,转变为符合需求的数据实体第四点——main
爬虫的制作主要分为三个方面...
1、三菱 MX COMPONENT下载及安装测试:安装测试
2、通讯测试及数据监控
打开PLC监控程序:
可以看到之前设置的通讯配置,也可以重新设置:
点击OK
在右侧可以输入地址可...
当编写应用程序时,经常性需要花费大量的时间与精力处理业务逻辑,往往业务逻辑的变化需要重构或者增加大量代码,对开发测试人员很不友好。之前在这篇文章说过,可以使用脚本引擎来...
在我们的开发过程中,我们经常会遇到这样的场景就是一个对象的其中的一些状态依赖于另外的一个对象的状态,而且这两个对象之间彼此是没有关联的,及两者之间的耦合性非常低,特...
在C#中经常会用到Socket去接收和发送数据,而且也是非常方便的,有时候我们会向服务端去请求数据,如果返回的数据量很大,比如超过10M甚至是更多,那么该怎样去接收数据呢?下面以...
目录 第一部分:FileList 第二部分:Navigation 第三部分:BreadCrumbView 今天我来写一篇关于利用WPF来实现Windows的资源管理器功能,当然只是局部实现这个功能,...
本文实例为大家分享了unity实现文字滚动效果的具体代码,供大家参考,具体内容如下效果:代码:using System.Collections;using System.Collections.Generic;using UnityEngine.UI;...
事情时这样,有用友u8的字典数据的帮助文档一份,同事需要把里面的很多张表的字典信息给提取出来,然后构成sql语句,插入数据库。字典就是一张对表里的字段的一个说明,长这样同事一...
目录顶级语句
弃元参数
仅初始化设置器 (Init only setters)
记录类型 (Record)
模式匹配增强
Type patterns 类型匹配,判断一个变量的类型Relational patterns 关系匹配Conjun...
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默。...
业务需求
最近做一个把源数据库的数据批次导出到目标数据库。源数据库是采集程序采集而来的原始数据库,所以需要对其进行一些处理(过滤一些为空,长度太短或太长,非法字符,重复数...