-
[C#] 使用.net 的Chart控件作图曲线图
使用.net的Chart控件绘制曲线图在进行软件开发过程中我们可能会碰到需要生成图表的情况,在.NET中以前经常用GDI去绘制,虽然效果也不错,自从.NET4.0开始,专门为绘制图表而生的Chart控件出现了,有了它,就可以轻松的绘制你所需要的曲线图、柱状图什么的了。废话不多说,直接附上代码,实现绘...
16
热度 -
[C#] EmguCV学习——简略算法 差分与高斯
EmguCV学习——简单算法差分与高斯公司项目需要检测运动物体,我对opencv也没啥研究,google了好久看了好多方法,最简单的就是差分与高斯背景建模了。旁边搞c++的同事正在搞更nb的算法,等出来了我再转成C#版的分享。先看差分1//移动窗口[System.Runtime.InteropSer...
81
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议20:使用泛型集合代替非泛型集合
编写高质量代码改善C#程序的157个建议——建议20:使用泛型集合代替非泛型集合建议20:使用泛型集合代替非泛型集合在建议1中我们知道,如果要让代码高效运行,应该尽量避免装箱和拆箱,以及尽量减少转型。很遗憾,在微软提供给我们的第一代集合类型中没有做到这一点,下面我们看ArrayList这个类的使用情...
70
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议18:foreach不能代替for
编写高质量代码改善C#程序的157个建议——建议18:foreach不能代替for建议18:foreach不能代替for上一个建议中提到了foreach的两个优点:语法更简单,默认调用Dispose方法,所有我们强烈建议在实际的代码编写中更多的使用foreach。但是,该建议也有不适合的场景。for...
95
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议61:避免在finally内撰写无效代码
编写高质量代码改善C#程序的157个建议——建议61:避免在finally内撰写无效代码建议61:避免在finally内撰写无效代码在阐述建议之前,需要先提出一个问题:是否存在一种打破try-finally执行顺序的情况,答案是:不存在(除非应用程序本身因为某些很少出现的特殊情况在try块中退出)。...
39
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议39:了解委托的实质
编写高质量代码改善C#程序的157个建议——建议39:了解委托的实质建议39:了解委托的实质理解C#中的委托需要把握两个要点:1)委托是方法指针。2)委托是一个类,当对其进行实例化的时候,要将引用方法作为它的构造方法的参数。设想这样一个场景:在点对点文件传输过程当中,我们要设计一个文件传输类,该传输...
49
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议32:总是优先考虑泛型
编写高质量代码改善C#程序的157个建议——建议32:总是优先考虑泛型建议32:总是优先考虑泛型泛型的优点是多方面的,无论泛型类还是泛型方法都同时具备可重用性、类型安全性和高效率等特性,这是非泛型和非泛型方法无法具备的。以可重用性为例:classMyList{privateint[]items;pu...
13
热度 -
[C#] C# Presentation 禁止或容许修改形状
C#Presentation禁止或允许修改形状在设定形状属性后,可禁止对形状某些属性的编辑,以达到保护形状格式的目的。常用方法有:锁定形状禁止选择,和禁止对形状的具体属性进行修改。前者保护形状的所有格式,无法选取,无法修改任何属性。后者,对形状的具体属性,例如形状大小,位置,类型,文本,旋转等,进行...
143
热度 -
[C#] 自个儿实现各种进制相互转换
自己实现各种进制相互转换本文自己实现了2、8、10、16进制数的相互转换。实际中很少用到或者直接用api,所以大神老鸟请绕行。有兴趣的朋友也可以自己先写写,当做练习,仅此而已。ok,直接进入主题。先说一下各进制转换的算法(百度一下也ok的)。算法:一、10进制数是平时所用到的,先从它开始。10进制转...
37
热度 -
[C#] C# 实现ADSL自动断网跟拨号(适用于拨号用户)
C#实现ADSL自动断网和拨号(适用于拨号用户)封装类:usingSystem;usingSystem.Runtime.InteropServices;publicstructRASCONN{publicintdwSize;publicIntPtrhrasconn;[MarshalAs(Unmana...
19
热度 -
[C#] C#模拟PrtScn实现截屏准备知识-剪贴板操作
C#模拟PrtScn实现截屏预备知识--剪贴板操作剪贴板是Windows操作系统中最常用的功能之一,它用来从一个应用程序向另一个应用程序传递数据,可以是文本,图象,甚至是程序对象。不过剪贴板也有限制,它在某个特定的时间只能指向一块内容,每一个随后复制的内容都会取代先前的内容。为了在C#中操作剪贴板(...
4
热度 -
[C#] 浅析C#中的结构体跟类
浅析C#中的结构体和类类和结构是.NETFramework中的常规类型系统的两种基本构造。两者在本质上都属于数据结构,封装着一组整体作为一个逻辑单位的数据和行为。数据和行为是该类或结构的“成员”,它们包含各自的方法、属性和事件等对于C/C++程序猿来说,结构体和类的区别很小。只是结构体的默认成员变量...
84
热度 -
[C#] C# 之 FTP服务器中文件上传与下载(1)
C#之FTP服务器中文件上传与下载(一)最近接手这样一个文件上传到ftp服务器的一个功能,接下来就给大家解析一下这一功能。首先,今天我们要讲的是怎么创建一个FTP服务器。1.首先我们创建一个用户,当然不想创建用户使用当前登录的用户也可以2.我们要安装必须的IIS组件3.我们在本地创建一个文件夹当做F...
39
热度 -
[C#] C#实现MD5WITHRSA签字
C#实现MD5WITHRSA签名这是很久以前的写的一篇博客了,今天把他重新找出来整理一下发布到博客园当时对接银联的时候搞了很久都没搞出来,后来一个偶然的机会发现类似的一个代码参考了一下终于弄好了这段代码主要是实现了C#服务端对接手机银联的java端的接口的签名希望可以帮到大家1usingSystem...
59
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议100:静态方法和实例方法没有区别
编写高质量代码改善C#程序的157个建议——建议100:静态方法和实例方法没有区别建议100:静态方法和实例方法没有区别静态方法在加载时机和内存使用上和实例方法完全一致。在这里,我们先引出一个概念“类型对象”。比如类型Person,我们都知道newPerson()会产生一个对...
39
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议94:区别对待override和new
编写高质量代码改善C#程序的157个建议——建议94:区别对待override和new建议94:区别对待override和newoverride和new使类型体系应为继承而呈现出多态性。多态要求子类具有与基类同名的方法,override和new的作用就是:如果子类中的方法前面带有new关键字,则该法...
94
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议91:可见字段应该重构为属性
编写高质量代码改善C#程序的157个建议——建议91:可见字段应该重构为属性建议91:可见字段应该重构为属性字段和属性的本质区别就是属性是方法。查看下面这个Person类型:classPerson{publicstringName{get;set;}}经过编译器编译后,针对属性Name实际会生成一个...
31
热度 -
[C#] C#中Action与delegate、EventHandler的区别
C#中Action与delegate、EventHandler的差异Action是一个泛型的委托,其内部即使用delegate去实现,当普通的delegate定义的参数与Action个数、类型一致时,两者实现的功能是一样的。只是Action的方式更加简洁、规范。如下:1publicdelegatev...
46
热度 -
[C#] C#获取QQ旋风的下载记要
C#获取QQ旋风的下载记录1/*2*用户:从前的我3*日期:2015/8/264*/5usingSystem;6usingSystem.IO;78namespaceGetXf9{10classProgram11{12publicstaticvoidGetXfDownloadRecords()13{1...
21
热度 -
[C#] 线程暴长~Quartz中创造Redis频繁后导致线程暴长
线程暴长~Quartz中创建Redis频繁后导致线程暴长在最近项目开发过程中,在进行任务调度处理过程中,出现了一个问题,它的线程数暴长,从20多个可以到1000多个,如果你的服务器性能好的话,可以到10000多个,太恐怖了,就算你的服务再好,早晚有一天也会被newRedis炸干!哈哈!解决方法:使用...
12
热度