网站建设

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

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

c# 识别图片格式的方法

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

winform 调用摄像头扫码识别二维码的实现步骤

因为公司业务需求,需要在Windows系统下调用摄像头识别二维码需求,就有了这个功能。 我根据网上网友提供的一些资料,自己整合应用到项目中,效果还不错(就是感觉像素不是太好...

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

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

c# 网络编程之http

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

c# 网络编程之tcp

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

C# 网络编程之UDP

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

c# 实现自动扫雷

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

c# 反射用法及效率对比

反射实例化类 public class Person{ public string Name { get; set; } public Person(string name) { this.Name = name; } public string Say(string msg) { return $"{Name}: {msg}"; }}class Program{ // 测试次数 const int count = 10000000;...

c# 如何用组合替代继承

如果问面向对象的三大特性是什么,多数人都能回答出来:封装、继承、多态。 继承 作为三大特性之一,近来却越来越不推荐使用,更有极端的语言,直接语法中就不支持继承,例如...

c# Newtonsoft.Json 常用方法总结

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

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

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

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

目录 一、 Parallel的使用 1、Parallel.Invoke 2、Parallel.For 3、Parallel.Foreach 二、 Parallel中途退出循环和异常处理 1、当我们使用到Parallel,必然是处理一些比较耗时的操作,当然也很耗CPU和内存...

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

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

c# 垃圾回收(GC)优化

目录 一、什么是GC 二、托管资源和非托管资源 三、关于GC优化的一个例子 GC运行机制 代码运行机制: 四、什么时候该调用GC.Collect GC,Garbage Collect,中文意思就是垃圾回收,指的是系统...

C# 并行和多线程编程——认识和使用Task

目录 任务和线程的区别: 一、认识Task和Task的基本使用 1、认识Task 2、创建Task 二、Task的任务控制 1、Task.Wait 2、Task.WaitAll 3、Task.WaitAny 4、Task.ContinueWith 5、Task的取消 对于多线程,我们...

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

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

C#使用OpenCV剪切图片中的人物头像的实现方法

前言 本文主要介绍如何使用OpenCV剪切图形中的人物头像。 准备工作 首先创建一个Wpf项目——OpenCV_Face_Wpf,这里版本使用Framework4.7.2。 然后使用Nuget搜索【Emgu.CV】,如下图。 这里的Em...

Unity实现枚举类型中文显示

Unity脚本中枚举类型在inspector面板中文显示,供大家参考,具体内容如下 效果: 工具脚本:ChineseEnumTool.cs using System;using UnityEngine;#if UNITY_EDITORusing UnityEditor;using System.Reflection;using Syste...

unity实现文字滚动效果

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

C# 如何使用 Index 和 Range 简化集合操作

目录 Intro Sample Index Range More Intro 有的语言数组的索引值是支持负数的,表示从后向前索引,比如:arr[-1] 从 C# 8 开始,C# 支持了数组的反向 Index,和 Range 操作,反向 Index 类似于其他语...

C# 使用Microsoft Edge WebView2的相关总结

目录 一、C#和JS互相调用 1、js调用C# 2、C#调用JS 二、缩放问题 一、C#和JS互相调用 1、js调用C# C#代码如下: webView.CoreWebView2.AddHostObjectToScript("webBrowserObj", new ScriptCallbackObject());await webVi...

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

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

C# 使用 Castle 实现 AOP及如何用 Autofac 集成 Castle

目录 基本用法 基于接口的拦截器 基于类的拦截器 异步函数拦截 Autofac 集成 基于接口的拦截器 基于类的拦截器 异步函数拦截 Castle 是 2003 年诞生于 Apache Avalon 项目,目的是为了创建一...

c# 提取文档信息的示例

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

C# 如何在WINForm程序中创建XML文件

xml version="1.0" encoding="gb2312"FilesInformationversion1.0.1818.42821/versiondescription说明/descriptionFileItemFileName="name"FileVersion="sdf"FileLength="sdf"FileCreationTime="sd"//FilesInformation string path = System.AppDomain.Curr...

C# 9.0 特性全面总结

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

给 c# 程序员的十个重要提示

目录 1: 为非公开的方法编写测试 2: 使用 Tuples 类型 3: 用 yield 替代临时集合 4: 告诉别人你将替换一个方法 5: 牢记 LINQ 查询是延迟执行的 6: 使用 explicit 关键字转换业务实体类型 7: 保持...

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

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

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

目录 一、爬取电影类别列表 二、爬取每个类别的总分页数 三、按照页码得到每个电影类别的内容 四、测试爬取的结果 上一章节中我们实现了对优酷单页面的爬取,简单进行回顾一下...

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

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

C#时间格式转换为时间戳的方法步骤

时间戳转换: /// summary/// C#时间格式转换为时间戳(互转)/// 时间戳定义为从格林威治时间 1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。 /// /sum...

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

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

C#中DataTable的创建与遍历实现

1、创建DataTable对象 /// summary/// 创建DataTable对象/// /summarypublic static DataTable CreateDataTable(){ //创建DataTable DataTable dt = new DataTable("NewDt"); //创建自增长的ID列 DataColumn dc = dt.Columns.Add("ID", Typ...

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

1、三菱 MX COMPONENT下载及安装测试:安装测试 2、通讯测试及数据监控 打开PLC监控程序: 可以看到之前设置的通讯配置,也可以重新设置: 点击OK 在右侧可以输入地址可以对PLC数据进行...

C#中Dictionary<TKey,TValue>排序方式的实现

自定义类: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CSharp中Dictionary排序方式{ [Serializable] public class Cu【来源:自由互联:http://www.12...

详解C# 枚举高级用法之Description

目录 基础枚举 高级点用法,反射元数据 基础枚举 namespace TestEnum{ //声明 public enum Name { //默认值 boob = 0 ,依次往下排,可自定义 jackMa = 3,jackCHan那就= 4 boob, JackMa, JackChan, // Lisa, Poro }} 声明...

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

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

如何在C#中集成Lua脚本

目录 背景 步骤 1 引入NLua.dll 2 具体用法 2.1直接创建表达式 2.2 注册Lua Function 2.3 Lua调用C#函数 2.4 通过Import导入命名空间引用C#函数 3 总结 背景 在很多时候我们代码中的一些逻辑操作并...

C# 如何实现一个带通知的List<T>

背景 在很多场景下面我们需要在集合发生变化的时候能够通过一个事件对外进行通知,默认的ListT并没有此类功能,所以对于这一类需求的业务场景下我们需要自己进行相关的扩展,这...

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

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

详解 C# 中XML对象的序列化和反序列化

这一篇主要是用来介绍关于C#中的XML序列化的问题,这个相信大家一定会经常使用它,特别是在WPF中,有时候我们需要将我们后台的数据保存在数据库中,从而在软件下一次启动的时候...

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

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

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

目录 一 背景 二 完成分析 三 使用过程 一 背景 在上面的一篇文章中我们介绍了一个完整地基于消息发布和订阅的模型,这篇文章我将介绍一种简单的基于消息的发布和订阅模型,在这...

C#实现JWT无状态验证的实战应用解析

目录 前言 准备工作 设计思路 代码实现 Jwt的帮助类 AuthenticationHelper验证帮助类 WebApi接口 前言 本文主要介绍JWT的实战运用。 准备工作 首先我们创建一个Asp.Net的,包含MVC和WebApi的Web项...

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

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

c# winform主题实现的方法

目录 1、一个接口,需要做主题的控件、窗体都要实现这个接口 2、一个主题接口 3、一个主题控制类 4、添加一个窗体通用的主题接口 5、添加对应的窗体或控件的主题接口 效果 winfor...

c# WPF中System.Windows.Interactivity的使用

目录 背景 1 引入命名空间 2 添加事件对应的Command 2.1 定义自己的CommandParameter 2.2 重写自己的InvokeCommandAction 2.3 在代码中应用自定义InvokeCommandAction 3 使用当前程序集增加Behavior扩展 代码...

c# WPF中如何自定义MarkupExtension

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

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

目录 第一部分:FileList 第二部分:Navigation 第三部【原URL http://www.yidunidc.com/tw.html复制请保留原URL】分:BreadCrumbView 今天我来写一篇关于利用WPF来实现Windows的资源管理器功能,当然只是...