委托的调用

摘要: 委托分为同步调用和异步调用: <1>委托的Invoke方法用来进行同步调用。同步调用也可以叫阻塞调用,它将阻塞当前线程,然后执行调用,调用完毕后再继续向下进行。 1 static void Main(string[] args) 2 { 3 Console.WriteLine("*******Syn 阅读全文
posted @ 2016-10-26 21:33 insanewang 阅读(231) 评论(0) 推荐(0) 编辑

c#错误和异常

摘要: <1>有两个很重要的异常类它们派生自System.Exception类 System.SystemException:该类通常由.net运行库抛出的异常,或者有着非常一般的本质并且可以由几乎所有的应用程序抛出的异常,System.SystemException异常的子类包括表示致命错误和非致命错误的 阅读全文
posted @ 2016-10-25 21:58 insanewang 阅读(140) 评论(0) 推荐(0) 编辑

c#指针

摘要: <1>为什么要使用指针? 一是向后兼容性:c#非常擅长对开发人员隐藏大部分基本内存管理,因为它使用了垃圾回收器和引用,但是有时需要直接访问内存,例如由于性能问题,需要在外部(非.net环境)的DLL中访问一个函数,该函数需要把指针当作参数来传递(许多windows API函数就是这个样子);二是性能 阅读全文
posted @ 2016-10-24 21:34 insanewang 阅读(378) 评论(0) 推荐(0) 编辑

c#内存管理,垃圾回收和资源释放

摘要: <1>关于虚拟内存的概念 Windows使用一个虚拟寻址系统,该系统把程序可用的内存地址映射到硬件内存中的实际地址上去,这些任务完全由windows后台管理,其实际结果是32位处理机上的每个进程都可以使用4GB内存,这个内存称为虚拟内存; <2>栈和堆的概念 栈:在进程的虚拟内存中,有一个区域称为栈 阅读全文
posted @ 2016-10-24 21:05 insanewang 阅读(564) 评论(0) 推荐(0) 编辑

C#程序A调用程序B的问题

摘要: C#程序A调用程序B,如果程序B中存在 string path1 = System.Environment.CurrentDirectory; 程序A中开启B进程的代码为: System.Diagnostics.Process.Start(@"E:\VS2010\2016-10-20\Console 阅读全文
posted @ 2016-10-20 14:24 insanewang 阅读(260) 评论(0) 推荐(0) 编辑

SourceGrid之Grid绑定数据

摘要: private void BindData() { //为绑定的按钮选线增加单击事件 SourceGrid.Cells.Controllers.CustomEvents clickEvent = new SourceGrid.Cells.Controllers.CustomEvents(); cli 阅读全文
posted @ 2016-10-18 21:21 insanewang 阅读(1052) 评论(0) 推荐(0) 编辑