随笔 - 163  文章 - 2  评论 - 370  阅读 - 46万 
07 2009 档案
C# 数据结构与算法系列(四) 栈
摘要:栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线形表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来,它只能在某一端插入和删除的特殊线性表。用桶堆积物品,先堆进来的压在底下,随后一件一件往堆。取走时,只能从上面一件一件取。堆和取都在顶部进行,底部一般是不动的。栈就是一种类似桶堆积物品的数据结构... 阅读全文
posted @ 2009-07-31 23:11 风浪 阅读(530) 评论(1) 推荐(0) 编辑
细说引用类型string StringBuilder class的特点
摘要:string是引用类型,但它也有一些值类型的特征。 string传值还是传引用,C#的string声明是一个String类,当然是传引用。不过,之所以有这个疑惑,多数是因为这个情况: string a = "aaa"; string b = a; b = "bbb"; 这时候输出结果,结果发现a的值还没有变,分析一下: string a = "aaa"; // a-->new String(... 阅读全文
posted @ 2009-07-31 09:18 风浪 阅读(516) 评论(1) 推荐(0) 编辑
C# 本机信息与局域网信息的获取
摘要:本机信息与局域网信息的获取,需要用到Management这个类,这个类的功能十分强大,可以实现的事情也很多,下面我来列举部分实现本机与局域网信息的例子。首先对项目添加System.Management引用,然后在代码上面输入using System.Management下面来看看如何取得本机信息:[代码]上面有代码会输出如下信息:00-1E-C9-29-59-D7192.168.1.1NON-Al... 阅读全文
posted @ 2009-07-30 19:33 风浪 阅读(903) 评论(10) 推荐(1) 编辑
利用Assembly动态加载程序集
摘要:在程序开发中,经常需要调用到外部的DLL,所以需要反射技术,动态的加载程序集,方便调用.例如我们创建一个这样的类:[代码]在一般情况下,我们只需要在代码中这样调用就可以:[代码]如果需要在程序运行时动态加载,就需要用到Assembly类来实现,注意:(把上面的第一段代码,生成一个叫User.Dll)一、Assembly.Load这个方法接受一个AssemblyName实例作为一个参数,返回对应的程... 阅读全文
posted @ 2009-07-29 11:25 风浪 阅读(826) 评论(2) 推荐(1) 编辑
使用IFormatProvider打造自己个性格式化方法
摘要:C#中提供了好多格式化数字或字符串的方法,但在项目开发中,有很多自己需要的格式无法实现,那就需要我们去定义IFormatProvider,其实很简单,只需继承二个接口,然后实现二个方法就可以了。ICustomFormatter接口中实现Format方法:string Format (string format,Object arg,IFormatProvider formatProvider)IF... 阅读全文
posted @ 2009-07-28 17:25 风浪 阅读(1345) 评论(2) 推荐(3) 编辑
面向对象编程设计模式--简单工厂模式讲解(历史上最简单明白的例子)
摘要:工作之余,在看资料过程中发现一个极易理解的简单工厂模式的例子,自己亲自试练一番,感觉对这个设计模式不熟悉的朋友,一看马上就知道是什么回事了。简单工厂模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返的类都有一个共同的你类和共同的方法,但每个方法执行的任务不同,而且根据不同的数据进行了优化。简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模... 阅读全文
posted @ 2009-07-24 16:06 风浪 阅读(2890) 评论(22) 推荐(2) 编辑
C# 数据结构与算法系列(三) 线性表之链表
摘要:线性表的链存储称为链表。特点:存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。链表有单链表,双向链表等下面介绍单链表的实现方法:[代码]下面代码来使用链表[代码] 阅读全文
posted @ 2009-07-23 11:09 风浪 阅读(584) 评论(0) 推荐(0) 编辑
异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache...等失效的问题)
摘要:在一个项目中,为了系统执行效率更快,把一个经常用到的数据库表通过dataset放到Application中,发现在异步实现中每一次都会出现HttpContext.Current为null的异常,后来在网上查了好多资料,发现问这个问题的人多,回答的少,回答的也多数都是:引用System.Web,不要用HttpContext.Current.Application应该用System.Web.HttpC... 阅读全文
posted @ 2009-07-16 09:42 风浪 阅读(6081) 评论(3) 推荐(10) 编辑
C# 高定位高效率程序中 线程与线程池比较
摘要:应用程序可以拥有多个线程,当程序需要大量时间来处理部分业务或流程时,就可以通过线程来操作,如果应用程序没有用到线程,那将会出现很麻烦的事情,例如:界面上有个dataGridView需要填充数据,如果有Form_Load事件中实现数据绑定,如果在主线程中操作,那么你运行打开窗体的时候就会出现程序假死的现象.这不是客户所接受的,所以在程序开发中,线程的应用是不可缺少的一部分.我们用多线程来开发程序,目... 阅读全文
posted @ 2009-07-08 15:49 风浪 阅读(685) 评论(0) 推荐(1) 编辑
系统减轻数据峰值办法(MSMQ)
摘要:在做一个证券系统,服务器接收的数据量特别频繁,也是为了系统的可扩展性,系统设计如下:接收数据-->MSMQ队列-->处理业务-->MSMQ队列-->返回信息,通过接口把数据接收存放到MSMQ实现。MSMQ可以应用到很多地方,现在把思路放出来,给各位朋友参考参考,或许已经过时了,但总希望能有人需要吧!首先引用命名空间: using System.Messaging; priv... 阅读全文
posted @ 2009-07-07 16:12 风浪 阅读(592) 评论(1) 推荐(0) 编辑
C# 异步读取数据库里面的数据与绑定UI的解决办法
摘要:异步读取数据库,在数据绑定的时候会出现点问题,就是窗体界面会无法关闭,要结束任务才能结束进程。例如下面代码首先按习惯的方法,设定线程更新UIa2.CheckForIllegalCrossThreadCalls = false; //a2为窗体名称下面的代码就是从数据库里取得数据并绑定private void button1_Click(object sender, EventArgs e) { S... 阅读全文
posted @ 2009-07-07 10:34 风浪 阅读(4197) 评论(19) 推荐(0) 编辑

点击右上角即可分享
微信分享提示