随笔分类 -  c#

摘要:当使用C#开发的程序出现偶发的Bug时,怎么能调试该Bug? 要调试c#程序,只需要三个因素源码(exe程序可反编译为源码)、pdb(调试信息)、当时的进程内存(内存dump) 故只需要 exe、pdb、dmp三个文件在同一文件夹内,通过Virtual Studio打开dmp就可以直接进入出现bug 阅读全文
posted @ 2023-03-14 11:05 Bonker 阅读(907) 评论(0) 推荐(0)
摘要:一、各种旋转、改变大小注意:先要添加画图相关的using引用。//向右旋转图像90°代码如下:private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e){Graphics g = e.Graphics;... 阅读全文
posted @ 2015-05-12 11:34 Bonker 阅读(553) 评论(0) 推荐(0)
摘要:c#调用c++动态库一般我们这样写[DllImport("UCamer.dll", CallingConvention = CallingConvention.Winapi)]public extern static void Disp_Destroy(IntPtr hShow);DllImport... 阅读全文
posted @ 2014-12-04 10:00 Bonker 阅读(18237) 评论(6) 推荐(5)
摘要:大家知道WPF中多线程访问UI控件时会提示UI线程的数据不能直接被其他线程访问或者修改,该怎样来做呢?分下面两种情况1.WinForm程序1)第一种方法,使用委托:private delegate void SetTextCallback(string text); private v... 阅读全文
posted @ 2014-09-20 17:48 Bonker 阅读(11232) 评论(1) 推荐(0)
摘要:做CS的开发一直都是这样的方式:server端用 C++编写,采用IOCP机制处理大量客户端连接、数据接收发送的问题client端用 C++ 或C# 写,没什么特殊要求。最近工作时间上比较宽裕,决定采用新的方式来处理服务端的工作: C# + SOCKET异步机制(.net里没有IOCP的直接支持)目... 阅读全文
posted @ 2014-09-17 16:07 Bonker 阅读(1143) 评论(0) 推荐(1)
摘要:自从发表了用于验证码图片识别的类(C#代码)后,不断有网友下载这个类后,问如何用于一些特定的验证码。总结一下网友们的提问,很多都是不会从复杂背景中提到干净的字符图片来,这主要就是一个去噪问题,即除去图片上的背景、干扰点、干扰线等信息。这当中要用到很多图像学数学算法,首先声明,本人不是学图像学的,以... 阅读全文
posted @ 2014-08-14 15:30 Bonker 阅读(382) 评论(0) 推荐(0)
摘要:最近写了几个网站的验证码图片自动识别程序,尽管每个网站的验证码图片都不相同,识别的方法有所差别。但写得多了,也总结出不少相同之处。今天抽空封装出一个基础类来,发现可以很好地重复利用,编写不同的验证码识别程序,效率提高了不少。好东东不能独享,现放出来供大家共同研究,请网友们妥善用之。封装后的类使用很简... 阅读全文
posted @ 2014-08-14 15:10 Bonker 阅读(288) 评论(0) 推荐(0)
摘要:第一遍文章可以入门第一部份 图片的组成及特征码的定义 做为验证码的识别,那我们首先需要了解的就是基本的原理,这里就是先说清楚这个原理,再往后大家看代码就比较容易明白了(其实本来就比较简单,我说这么多就是为了大家看完不说我的水平次罢了。再次爆汗~!)正题了,其实整个验证码的识别的话我们先得分解一个图... 阅读全文
posted @ 2014-08-14 15:09 Bonker 阅读(410) 评论(0) 推荐(0)
摘要:对于 .net framework 中的代码,光拿 Reflector 看是不够过瘾的,如果能够调试进去就好了!其实,微软是提供了一套 sourcecode 的下载的:http://referencesource.microsoft.com/netframework.aspx下载后运行安装文件把 s... 阅读全文
posted @ 2014-05-29 16:52 Bonker 阅读(525) 评论(0) 推荐(1)
摘要:1,从soureforge下载sdk(包括汇编,c,c++,c#,java) 下载地址http://nchc.dl.sourceforge.net/project/sevenzip/LZMA%20SDK/lzma920.tar.bz22,CS文件夹就是c#实现的7zip压缩算法,但是没有封装好,不好用。在csdn上看到有人封装过。http://download.csdn.net/detail/sanguorewrite/4313133 下载下来感觉接口做的不是很好,在他的基础上我又该了下 这样调用就方便了压缩代码//源地址,压缩后的地址SevenZipHelper.Zip("test 阅读全文
posted @ 2014-03-03 18:14 Bonker 阅读(8378) 评论(1) 推荐(2)
摘要:Json.NEThttp://json.codeplex.com/Json.Net是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单。通过Linq To JSON可以快速的读写Json,通过JsonSerializer可以序列化你的.Net对象。让你轻松实现.Net中所有类型(对象,基本数据类型等)和Json的转换。Math.NEThttp://www.mathdotnet.com/Math.NET的目标是为提供一款自身包含清晰框架的符号运算和数学运算/科学运算,它是C#开发的开源类库。Math.NET含了一个支持线性代数的解析器,分析复杂微 阅读全文
posted @ 2014-02-11 09:29 Bonker 阅读(686) 评论(0) 推荐(0)
摘要:面向对象编程好处:提高软件可复用性、可扩展性、易维护性、灵活性第一章:理解.NET Framework与C# 1..NET框架由.NET Frmaework和CLR组成; 2.CLR(公共语言运行时)由CTS(通用类型系统)和CLS(公共语言规范)组成 CTS作用:解决不同语言的数据类型不同的问题 CLS作用:是一种最低的语言标准,限制了由这些不同点引发的互操作性问题 3.简单类库的使用: (1)ping与本机相连的IP using System.Net; using System.Net.NetworkInformation; private v... 阅读全文
posted @ 2014-02-08 17:50 Bonker 阅读(2419) 评论(0) 推荐(0)
摘要://调用系统函数 将鼠标移动到相应位置[DllImport("user32.dll", EntryPoint = "SetCursorPos")]public extern static bool SetCursorPos(int x, int y);//获取当前鼠标的绝对位置[StructLayo... 阅读全文
posted @ 2014-02-08 17:44 Bonker 阅读(830) 评论(0) 推荐(1)
摘要:本篇博客的目的是为了保存例子,怕自己忘记。 1 private void dd(string code) 2 { 3 string path = "BonkerSpace"; 4 if (File.Exists(path)) 5 { 6 File.Delete(path); 7 } 8 // 创建编译器对象 9 Microsoft.CSharp.CSharpCodeProvider p = new Mic... 阅读全文
posted @ 2014-01-03 11:27 Bonker 阅读(808) 评论(0) 推荐(0)
摘要:原文http://www.cnblogs.com/chenxizhang/archive/2011/09/10/2172994.html 阅读全文
posted @ 2013-12-02 14:57 Bonker 阅读(305) 评论(0) 推荐(0)
摘要:本机映像生成器创建托管程序集的本机映像,并且将该映像安装到本地计算机的本机映像缓存中。本机映像缓存是全局程序集缓存的保留区域。一旦您为某个程序集创建了本机映像,运行库在每次运行该程序集时就会自动使用该本机映像。不必执行任何其他的过程就可使运行库使用本机映像。在程序集上运行Ngen.exe 可以提高程序集的加载和执行速度,原因是它可以从本机映像缓存中还原代码和数据结构,而不是动态生成它们。 问:C#写的程序能编译成本机代码吗? 答:可以,使用Ngen.exe即可以MSIL代码编译为本机代码。 这样回答错了吗?其实,严格的说,这个回答是没错的,Ngen.exe的确是可以将MSIL 编译为本机代码. 阅读全文
posted @ 2013-11-27 11:08 Bonker 阅读(2007) 评论(0) 推荐(0)
摘要:假如一个复合控件由一个ToolStript和一个TextBox组成,如何使ToolStript获得设计时支持, 在设计时可以像使用普通ToolStript一样添加/删除控件?直接把ToolStript设为Public是无法达到目的的。必须定义一个用于为组件实现设计时服务的Designer[Designer(typeof(MyDesigner))] public partial class UserControl1 : UserControlMyDesigner继承自System.Windows.Forms.Design.ControlDesigner 类, 它提供了一个方法“Enable... 阅读全文
posted @ 2013-10-30 11:41 Bonker 阅读(412) 评论(0) 推荐(0)
摘要:监视器(Monitor)的概念 可以在MSDN(http://msdn.microsoft.com/zh-cn/library/ms173179(VS.80).aspx)上找到下面一段话:与lock关键字类似,监视器防止多个线程同时执行代码块。Enter方法允许一个且仅一个线程继续执行后面的语句;其他所有线程都将被阻止,直到执行语句的线程调用Exit。这与使用lock关键字一样。事实上,lock 关键字就是用Monitor 类来实现的。例如:lock(x){ DoSomething();}这等效于:System.Object obj = (System.Object)x;System.Th.. 阅读全文
posted @ 2013-10-17 14:54 Bonker 阅读(614) 评论(0) 推荐(0)
摘要:.NET平台下几种SOCKET模型的简要性能供参考这个内容在cnblogs中也讨论过很多次了,这两天大概看了一些资料,看到一些简单的性能指标拿出来和大家讨论一下。Socket + Threads/ThreadPool大概性能:小于1500个连接实现:Accept一个Socket,就交给一个线程去管理,比较笨,但也比较有效,因为是同步方式,控制起来很方便。高级点的,就是交给一个线程池去管理,线程池由系统自动托管,省去了开销线程的时间。一般小型项目,用这个完全足够,开发也简单。但要注意,如果若干Socket长时间占用线程池中的线程,同时其它连接数又比较多,很容易出现提示说你没有足够的线程供使用。呵 阅读全文
posted @ 2013-10-10 11:42 Bonker 阅读(298) 评论(0) 推荐(0)
摘要:对于用com组件写excel,笔者表示那个太慢了。而且很耗资源,还要装excel。今天我们就用写文本文件的方式来写excel。步骤1,用excel写好一个设计一个我们想要的模板。步骤2,我们把做好的excel模板,另存为。 这时会出现另存为的对话框。在保存类型中选择“XML 电子表格 2003 (*.xml)”。然后名字随便写。步骤3,把我们刚保存的xml文件用文本打开。我们就会看到,其实excel是以xml方式存放的数据。如果这时你用excel打开那个xml文件,会发现excel出现的就是我们刚才的设计的模板。而且格式和我们设计的一样。步骤4,所以我们可以用写xml,或者文本的方式写exce 阅读全文
posted @ 2013-08-08 17:57 Bonker 阅读(3350) 评论(0) 推荐(0)