2016年6月21日

委托

摘要: 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。事件是一种特殊的委托。 1.委托的声明 (1). Delegate 匿名方法 delegate我们常用到的一种声明 Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。 例:public d 阅读全文

posted @ 2016-06-21 14:47 象山 阅读(153) 评论(1) 推荐(0) 编辑

2015年2月9日

.NET Framework 正则表达式

摘要: 一.正则表达式中的字符类1.正字符组[][0-9_a-z]匹配从0到9,a到z的字符2.负字符组[^][^abc]匹配除abc以外的字符3.任意字符.句点字符(.)匹配除\n(换行符\u000A)之外的任何字符4.Unicode类别或Unicode快\p{name}Unicode标准为每个常规类别分... 阅读全文

posted @ 2015-02-09 23:09 象山 阅读(271) 评论(0) 推荐(0) 编辑

2014年12月24日

OpenXML简介和生成Excel

摘要: OpenXML是一个开放性的标准,基于熟知的技术:ZIP和XMLOpenXMLSDK安装以后,要在应用程序中添加以下引用。DocumentFormat.OpenXmlWindowsBaseSpreadsheetML是用于操作Excel文档。工作簿包含工作簿部件(必须部件)一张或多张工作表图表表自定义... 阅读全文

posted @ 2014-12-24 22:48 象山 阅读(741) 评论(0) 推荐(0) 编辑

2014年3月13日

灰度化图像常见的阈值分割算法

摘要: 1.OTSU算法。关于最大类间方差法(otsu)的性能:类间方差法对噪音和目标大小十分敏感,它仅对类间方差为单峰的图像产生较好的分割效果。当目标与背景的大小比例悬殊时,类间方差准则函数可能呈现双峰或多峰,此时效果不好,但是类间方差法是用时最少的。 1 public int Otsu(Bitmap map) 2 { 3 int nThreshold = 0; 4 5 BitmapData mapData = map.LockBits(new Rectangle(0, 0, map.Width, map.Height), I... 阅读全文

posted @ 2014-03-13 10:21 象山 阅读(1102) 评论(0) 推荐(0) 编辑

2014年3月5日

.Net中集合总结

摘要: ICollection接口是System.Collections命名空间中类的基接口. IDictionary和IList是扩展了ICollection的更为专业的接口。IDictionary实现是键值对的集合。IList实现是值的集合,其成员可通过索引器访问 1.只实现了ICollection接口的集合有: 1.1.Queue。先进先出队列。泛型版Queue。 1.2.Stack。后进先出栈。泛型版Stack。2.实现了IList的集合有: 2.1.Array 。充当公共语言运行时中所有数组的基类.比如int[],string[]。 2.2.ArrayList。其大小根据实际需要动态增加。. 阅读全文

posted @ 2014-03-05 17:40 象山 阅读(333) 评论(0) 推荐(0) 编辑

2014年3月4日

集合中Predicate<T>委托的使用

摘要: Predicate委托表示定义一组条件并确定指定对象是否符合这些条件的方法。或者说是用于定义要搜索的元素的条件。 Array有Array.Find(T[] array,Predicate match)方法,List有List.Find(Predicate match)方法使用该委托。 Code: 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //List.Find 6 Random r = new Random(); 7 ... 阅读全文

posted @ 2014-03-04 12:54 象山 阅读(409) 评论(0) 推荐(0) 编辑

使用AutoResetEvent,ManualResetEvent和ManualResetEventSlim类进行线程间通信

摘要: AutoResetEvent和ManualResetEvent允许线程通过发信号进行通信。两者都有两个信号量:True和False。都通过Set()和ReSet()来设置。并且使用WaitOne()的方法阻止当前的线程。不同的是AutoResetEvent在调用Set()把信号量释放后(信号量设置为... 阅读全文

posted @ 2014-03-04 00:24 象山 阅读(2114) 评论(0) 推荐(0) 编辑

2014年3月2日

RS232串口

摘要: 一般个人计算机上都有两个串口。COM1和COM2。这两个串口就是RS232串口。232有25芯和9芯串口之分。串口使用ASCII码字符传输,通信使用三根线完成。地线,发送线,和接收线。一根用来发送一根接受,其他线用来握手。232串口常用参数设置:1.波特率 用来表示传输速率。即每秒中传输的位数。96... 阅读全文

posted @ 2014-03-02 23:51 象山 阅读(1258) 评论(0) 推荐(0) 编辑

2014年1月13日

多线程之异步编程模式

摘要: .Net为执行异步操作提供了三中模式:异步编程模型 (APM)基于事件的异步模式(EAP)基于任务的异步模式(TAP)1.异步编程模型(APM)。使用IAsyncResult设计模式的异步操作通过Begin操作和End操作两个方法实现。在调用Begin操作后,调用线程继续执行指令,同时异步操作在另外一个线程上执行,调用线程调用End方法来获取结果。Code: 1 namespace Examples 2 { 3 public class Progrom 4 { 5 public static void Main() 6 { 7 ... 阅读全文

posted @ 2014-01-13 23:39 象山 阅读(940) 评论(0) 推荐(1) 编辑

2014年1月6日

多线程之共享资源

摘要: 1.lock Lock锁定一段代码 lock确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。 通常,应避免锁定public类型,否则实例将超出代码的控制范围。常见的结构lock(this)、lock(typeof(MyType))和lock("myLock")违反此准则:如果实例可以被公共访问,将出现lock(this)问题。如果MyType可以被公共访问,将出现lock(typeof(MyType))问题。由于进程中使用同一字符串的任何其他代码将共享同一个锁,所以出现lock(“myL 阅读全文

posted @ 2014-01-06 23:05 象山 阅读(725) 评论(0) 推荐(0) 编辑

导航