C#算法设计与分析详解

目录1. 什么是科学方法??1.观察2.将问题规模和运行时间的关系量化2.数学模型近似近似运行时间成本模型总结3. 增长数量级的分类4. 倍率实验5.注意事项6. 处理对于输入的依赖7....

2022-08-06

C#实现归并排序

什么是归并?即将两个有序的数组归并成一个更大的有序数组。什么是归并排序?先将要排序的数组递归地分成两半分别排序,然后将结果归并起来。归并排序能够保证将任意大小为 N 的...

2022-08-06

C#深拷贝方法探究及性能比较(多种深拷贝)

目录1、手写创建对象2、反射3、Json字符串序列化4、对象二进制序列化5、AutoMapper6、表达式树之前学习了设计模式原型模式,在原型模式中就提到了对象的深拷贝。深拷贝指的是...

2022-08-06

C#关键字in、out、ref的作用与区别

简介:In:过程不会改写In的内容 ,默认的传递方式,即向函数内部传送值。
Out和out:传入的值不会被过程所读取,Out在传入的时候,参数的数值会清空,但过程可以写 。只出不进
ref:可以...

2022-08-06

C#并查集(union-find)算法详解

目录算法的主题思想:1. 动态连通性2. 定义问题3. quick-find算法实现算法分析4. quick-union算法实现森林表示算法分析5.加权 quick-union 算法实现算法分析6.最优算法 - 路...

2022-08-06

C#使用符号表实现查找算法

高效检索海量信息(经典查找算法)是现代信息世界的基础设施。我们使用符号表描述一张抽象的表格,将信息(值)存储在其中,然后按照指定的键来搜索并获取这些信息。键和值的具体意义取...

2022-08-06

C#中执行SQL的几种方法讲解

1.不同的数据库private InfoLightDBTools dbTools; //#ORACLE#this.dbTools = new InfoLightDBTools(clientInfo, dbName);private InfoLightDBTXTools dbTXTools; /...

2022-08-06

C#中Parallel类For、ForEach和Invoke使用介绍

一、简介:Parallel类提供了数据和任务的并行性;
Paraller.For()方法类似于C#的for循环语句,也是多次执行一个任务。使用Paraller.For()方法,可以并行运行迭代,迭代的顺序没有定义...

2022-08-06

C#关键字之重写override介绍

一、简介override意思是重写。它是在子类中重写父类中的方法,两个函数的函数特征(函数名、参数类型与个数)相同,用于拓展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现...

2022-08-06

C#实现多线程编程的简单案例

目录一、使用线程的理由二、基本知识三、线程的使用四、线程池五、Task类六、委托异步执行一、使用线程的理由1、可以使用线程将代码同其他代码隔离,提高应用程序的可靠性。...

2022-08-06

C#实现加密的几种方法介绍

1.ACSII码加密//ACSII码加密 private static string ACSIIPWd(string rpwd) { string Ret; byte[] array = System.Text.Encoding.ASC...

2022-08-06

C#实现快速排序算法

快速排序是应用最广泛的排序算法,流行的原因是它实现简单,适用于各种不同情况的输入数据且在一般情况下比其他排序都快得多。快速排序是原地排序(只需要一个很小的辅助栈),将长度...

2022-08-06

原生实现C#与Lua相互调用方法(Unity3D可用)

目录引言一、编译Lua动态链接库1. 编译Windows下使用的DLL文件2. 编译Android下使用的SO文件二、编写C#使用的API1. 动态链接库在Unity中的存放位置。2. 编写C#的API[LuaDll...

2022-08-06

C#多线程之线程池(ThreadPool)

一、简介前面介绍了平时用到的大多数的多线程的例子,但在实际开发中使用的线程往往是大量的和更为复杂的,这时,每次都创建线程、启动线程。从性能上来讲,这样做并不理想(因为每使...

2022-08-06

C#使用GUID(全局统一标识符)

一、简介1.什么是GUID?全局唯一标识符(GUID,Globally Unique Identifier),GUID也称作 UUID(Universally Unique IDentifier) 。GUID是一种由算法生成的二进制长度为128位的数字标...

2022-08-06

C#多线程之线程中止Abort()方法

一、简介Abort()方法用来终止线程,调用此方法强制停止正在执行的线程,它会抛出一个ThreadAbortException异常从而导致目标线程的终止。二、代码 class Program {...

2022-08-06

C#如何绑定多个按钮到同一个事件

目录绑定多个按钮到同一个事件1.添加代码2.选择你要添加代码的控件 多个控件有同一个事件,优化先自己声明方法,再用事件调用绑定多个按钮到同一个事件1.添加代码private voi...

2022-08-06

C#实现无损压缩图片代码示例

一般在web应用中,对客户端提交上来的图片肯定需要进行压缩的。尤其是比较大的图片,如果不经过压缩会导致页面变的很大,打开速度比较慢,影响用户体验,所以一般会将图片进行压缩。...

2022-08-06

C# 如何获取当前进程或线程的ID

目录获取当前进程或线程的IDC# 进程读取方法获取当前进程或线程的ID如果获得当前进程的Id用:Process[] processes = Process.GetProcesses(); foreach(Process process in p...

2022-08-06

C#中的checksum计算公式

目录checksum计算公式生成字符串的checksumchecksum计算公式private Byte GetCheckSum(Byte[] bytes){ Byte checksum = 0x00; foreach (byte bt in bytes) { checksum ^=...

2022-08-06

C#多线程之线程通讯(AutoResetEvent)

一、简介我们在线程编程的时候往往会涉及到线程的通信,通过信号的接受来进行线程是否阻塞的操作。
AutoResetEvent 允许线程通过发信号互相通信。通常,此通信涉及线程需要独占...

2022-08-06

LINQ基础之Intersect、Except和Distinct子句

Intersect子句一、简介Intersect返回交集,交集是指同时出现在两个集合中的元素,和数据库中的Intersect方法实现功能一样。二、案例var q = (from c in db.Customers...

2022-08-06

C#静态方法的使用

一、简介使用了static 修饰符的方法为静态方法,反之则是非静态方法。 静态方法是一种特殊的成员方法,它不属于类的某一个具体的实例,而是属于类本身。所以对静态方法不需要首先...

2022-08-06

C#实现自定义打印文字和图片的示例代码

目录1.调用打印机设置2.关联文档3.绘制内容C#中打印其实就是自己绘图+调用系统打印函数,于是便有了以下操作1.调用打印机设置如果你想在打印前设置打印机属性(或者切换打印机),...

2022-08-06

C#使用ThreadPriority设置线程优先级

一、简介如果在应用程序中有多个线程在运行,但一些线程比另一些线程重要,这种情况下可以在一个进程中为不同的线程指定不同的优先级。线程的优先级可以通过Thread类Priority属...

2022-08-06

关于C#线程的全面解析

目录线程的作用和意义线程生命周期C#创建线程C#让线程休眠一会C#销毁线程C#线程优先级lock:给线程加锁,保证线程同步Monitor:锁定资源Mutex:互斥锁线程的作用和意义线程 被定义...

2022-08-06

C#如何调用MFC 窗口 DLL

目录C#调用MFC 窗口 DLLMFC DLLMFC DLL属性C# 调用 C++ MFC DLLC++ MFC DLL 的封装C# 中调用,CharSet须设置为多字节的 AnsiC#调用MFC 窗口 DLLMFC DLL创建一个窗口类,加publi...

2022-08-06

C# 多线程中经常访问同一资源可能造成哪些问题

目录多线程经常访问同一资源可能造成什么问题竞态条件和死锁多线程访问资源冲突问题多线程经常访问同一资源可能造成什么问题竞态条件和死锁如果两个或多个线程访问相同的对...

2022-08-06

LINQ基础之From和GroupBy子句

FROM子句一、简单FROM子句获取数据源:var queryAllCustomers = from cust in Customers select cust;分析:查询表达式必须以from子句开头
例子中cust是范围变量...

2022-08-06

C#中命名参数和可选参数

一、简介设计方法的参数是,可以将部分参数和全部参数分配默认值,然后调用这些方法的时候可以选择不提供部分实参,使用参数定义的默认值,另外,还可以在调用方法的时候通过指定参数...

2022-08-06

C#实现DataTable数据行列转换

一、代码 public static DataTable RevertRowToColumn(DataTable sourcedt) { DataTable dt = new DataTable(); //转换后的第一列名,...

2022-08-06

C#实例化和静态类对象调用对比

目录1、对比效果2、实例化代码3、静态类代码前言:在编程时,什么时候用实例化对象,什么时候用静态类对象,这个值得我们思考,它们之间所占的内存和生命周期又是如何,框架本身的回收...

2022-08-06

C#正则表达式大全

目录一、简介字符转义 字符类分组构造限定符二、C#常用正则表达式符号大全三、代码一、简介正则表达式是一种匹配输入文本的模式,.Net 框架提供了允许这种匹配的正则表达式引...

2022-08-06

C#中的Task.WhenAll和Task.WhenAny方法介绍

一、简介Task.WhenAll()、Task.WhenAny()这两个与Task.WaitALL()、Task.WaitAny()是有区别的,When是异步的,Wait是同步的。
Task.WhenAll():所有提供的任务已完成时,创建将完成...

2022-08-06

C#如何实现dataGridView动态绑定数据

目录dataGridView动态绑定数据1.动态绑定DataTable数据2.动态添加数据datagridView数据插入dataGridView动态绑定数据1.动态绑定DataTable数据DataGridView dgv = new DataG...

2022-08-06

C#算法之散列表

目录1.散列函数正整数浮点数字符串组合键将 HashCode() 的返回值转化为一个数组索引自定义的 HashCode软缓存2.基于拉链法的散列表散列表的大小删除操作有序性相关的操作3....

2022-08-06

C#多线程的Join()方法

一、简介Join方法主要是用来阻塞调用线程,直到某个线程终止或经过了指定时间为止。官方的解释比较乏味,通俗的说就是创建一个子线程,给它加了这个方法,其它线程就会暂停执行,直到...

2022-08-06

C#延时函数的使用说明

目录C#延时函数使用C#3个延时函数 C#延时函数使用在线程中如果需要延时,尽量不要使用Sleep()函数,这样会导致时间片切到别的线程中。使用如下函数:     //Delay function ...

2022-08-06

LINQ基础之Join和UNION子句

Join子句一、简介使用join子句可以将来自不同源序列并且在对象模型中没有直接关系的元素相关联,唯一的要求是每个源中的元素需要共享某个可以进行比较以判断是否相等的值,join...

2022-08-06

C#中的虚函数virtual

一、简介虚拟函数从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,也就是写死...

2022-08-06

深入浅析C# 11 对 ref 和 struct 的改进

目录前言背景ref 字段生命周期scopedunscopedref struct 约束反射实际用例栈上定长列表栈上链表未来计划高级生命周期总结前言C# 11 中即将到来一个可以让重视性能的开发者...

2022-08-06

C#操作ini文件的帮助类

.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现...

2022-08-06

C#利用递归算法解决汉诺塔问题

目录一、什么是递归二、汉诺塔问题1.汉诺塔的故事2.解决思路3.怎么解决汉诺塔问题4.具体代码实现三、完整代码一、什么是递归方法调用自己的行为就是递归,递归必须要有终止条...

2022-08-06

C#实现分治算法求解股票问题

目录分治策略是:可使用分治法求解的一些经典问题分治算法 - 最大子数组问题 (1)暴力求解(2)分治法分治法实现大数相乘 C#实现分治策略是:对于一个规模为n的问题,若该问题可以容易地...

2022-08-06

C#文件非占用读取与帮助类FileHelper

非占用方式:FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete);StreamReader sr = new StreamReader(fs...

2022-08-06

C#中把Json数据转为DataTable

简单 /// <summary> /// 将json转换为DataTable /// </summary> /// <param name="strJson">得到的json</param> /// <returns></retur...

2022-08-06

C#把文件上传到服务器中的指定地址

一、建立连接 public string connectFTP(string vPath, string vUID, string vPassword) { string errormsg = ""; Process proc = new...

2022-08-06

C#实现Array,List,Dictionary相互转换

一、代码实例实现功能将Array转换为List将List转换为Array将Array转换为Dictionary将Dictionary转换为Array将List转换为Dictionary将Dictionary转换为List二、代码实现 学...

2022-08-06

C#图表算法之有向图

目录1.术语2.有向图的数据类型有向图表示有向图取反顶点的符号名3.有向图的可达性4.环和有向无环图调度问题有向图中的环顶点的深度优先次序与拓扑排序拓扑排序5.有向图中的...

2022-08-06

C#中缓存System.Web.Caching用法总结

System.Web.Caching.Cache Insert和Add方法的区别Add()object Add(string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slid...

2022-08-06
返回顶部
顶部