C#
文章平均质量分 52
听取蛙声一片
道生一,一生二,二生三,三生万物
展开
-
C# Quartz定时任务框架
定时任务:在时间轴上,在某一个时刻,去执行某一个任务!随着时间轴循环往复;调用服务:就是指定的时间点去做什么事 循环往复(时间策略)Quartz框架的使用:1、NuGet添加引用(注意版本所依赖的.Net版本)2、IScheduler:单元/实例,在这里去完成定时任务的配置,只有单元启动,里面的作业才能正常执行; /// <summary> /// 初始化 Quartz注意依赖的.Net版本 /// </summary>原创 2021-09-24 23:45:36 · 2150 阅读 · 1 评论 -
C# NPOI 操作Excel &生成验证码图片
1 NPOI实现对Excel的读写 public class ExcelHelper { #region 将DataTable数据导入到excel中 /// <summary> /// 将DataTable数据导入到excel中 /// </summary> /// <param name="data">要导入的数据</param> /// <p原创 2020-11-27 10:56:08 · 327 阅读 · 0 评论 -
IOC与DI+面向切面编程AOP
1 IOC控制反转和DI依赖注入1.1 定义及作用DIP 依赖倒置原则:系统架构时,高层模块不应该依赖低模块,二者通过抽象来依赖依赖抽象而不是细节贯彻依赖倒置原则,左边能抽象,右边实例化的时候不能直接用抽象,所以需要借助第三方高层本来是依赖低层,但是可以通过工厂(容器)来决定细节,去掉对低层的依赖。IOC(Inversion of Control)控制反转:把高层对低层的依赖,转移到第三方决定,避免高层的直接依赖,那么程序架构就具备良好的扩展性和稳定性;DI(Dependency Injec.原创 2020-05-23 07:01:12 · 287 阅读 · 0 评论 -
EmguCV基本操作(一)
1 EmguCV1.1 访问图片 //默认彩色模式打开 Mat srcImg = CvInvoke.Imread(@"C:\Users\Administrator\Desktop\22.jpg", LoadImageType.Color); if (srcImg.IsEmpty) { Co...原创 2020-04-17 14:25:32 · 2083 阅读 · 0 评论 -
C#中集合总结
1 数组型(Array)1.1 Array ArrayList List{ //Array:在内存上连续分配的,而且元素类型是一样的 //可以用索引访问,读取快,增删慢 长度不变 int[] intArray = new int[3]; intArray[0] = 123; string[] strArray = new string[] { "123...原创 2020-04-08 08:58:14 · 274 阅读 · 0 评论 -
C#--文件操作+IOSerializable
1 文件及文件夹的操作1.1 文件的常用操作//获取当前应用程序所在路径 string strCurrentPath = AppDomain.CurrentDomain.BaseDirectory; Console.WriteLine(strCurrentPath); { if (!Dire...原创 2020-03-30 16:28:47 · 243 阅读 · 0 评论 -
C#特性Attribute
1 特性说明/// 特性:中括号声明////// 就是一个类直接/间接继承Attribute////// 一般以Attribute结尾,声明时可以省略掉Attribute////// 错觉:每一个特性都可以带来对应的功能/// 实际上特性添加后,编译器会在元素内部产生IL,但无法直接使用,而且metadata里面会有记录////// 任何一个生效的特性,都是主动去使用...原创 2020-03-12 15:45:06 · 246 阅读 · 0 评论 -
泛型+发射
一、泛型协变与逆变:协变(covariant),如果它保持了子类型序关系≦。该序关系是:子类型≦基类型。逆变(contravariant),如果它逆转了子类型序关系。不变(invariant),如果上述两种均不适用 class Bird { } class Sparrow: Bird { } List<Bird> birdList3 = new List<S...原创 2020-03-12 15:22:00 · 216 阅读 · 0 评论 -
C#中多线程及线程锁
using System;using System.Collections.Generic;using System.Linq;using System.Runtime.CompilerServices;using System.Text;using System.Threading;using System.Threading.Tasks;namespace Dome1{ ...原创 2019-11-17 23:55:14 · 832 阅读 · 0 评论 -
C#中定时任务和log4Net
//定时任务 Quartz.net (另外还有 hangfire) //计划者(IScheduler) 工作(IJob) 触发器(Trigger) 给计划者一个工作 让他在Trigger触发的条件下执行工作 //将要执行的任务的代码写到实现Ijob接口的Excute方法中即可,时间来到的时候Excute方法会被调用 //...原创 2019-11-17 23:49:06 · 395 阅读 · 0 评论 -
C# 中AutoFac使用
1、NuGet 安装AutoFac : Install-Package AutoFac2、介绍//面向接口编程 当项目复杂时很有必要 模块耦合严重 基于接口编程//IOC(Inversion of Control,控制反转)容器 使用IOC容器后,不再有程序员自己new对象 而由框架帮助new对象3、使用 //实现类中不要有成员变量 无状态 使用单例 Cont...原创 2019-11-17 23:47:43 · 1298 阅读 · 0 评论 -
C#操作文件夹、文件
C#操作文件夹、文件//获得文件名 Console.WriteLine(Path.GetFileName(str)); //获得文件名但是不包含扩展名 Console.WriteLine(Path.GetFileNameWithoutExtension(str)); //获得文件的扩展名 ...原创 2019-10-31 08:27:52 · 225 阅读 · 0 评论 -
委托与事件窗体传值
委托与事件 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using Sy...原创 2019-03-13 23:51:26 · 213 阅读 · 0 评论 -
C#中的SqlCommandBuilder用法
using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq;...原创 2019-01-16 22:55:17 · 1501 阅读 · 0 评论 -
C#中SqlDataAdapter 适配器 获取数据库中的数据
using System; using System.Collections.Generic;using System.ComponentModel; using System.Configuration; using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;usi...原创 2019-01-07 00:38:37 · 1319 阅读 · 9 评论 -
C#中DataSet 内存集 的用法
一个DataSet里面有多张DataTable表 一个DataTable里有多个列using System;using System.Collections.Generic;using System.Configuration;using System.Data;using System.Linq;using System.Text;using System.Threading.T...原创 2019-01-06 22:11:26 · 2140 阅读 · 1 评论 -
C#中的事件
//事件的定义//访问修饰符 event 委托名称 事件名称;1、自定义事件using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;//事件//访问修饰符 event ...原创 2019-01-01 17:38:13 · 233 阅读 · 0 评论 -
C#中的委托
1、匿名函数using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace weituo{ //声明定义一个委托类型 委托类型必须与方法有相同的签名 public delegate str...原创 2018-12-17 01:19:52 · 175 阅读 · 0 评论