排序:
默认
按更新时间
按访问量

创造新的生活

recruitment@sxis.com

2011-08-18 17:25:40

阅读数:5050

评论数:5

《Effective C#》Item 21:用委托实现回调

委托属于C#中的新名词,它的应用也非常广泛,例如事件就是委托最简单而又直接的例子。 那么首先说说什么是委托,其实委托在用过C或者C++的人看来就是函数指针,不过使用C#的大多数人都没有用过这两门语言,因此对委托的理解不是很深,对于委托可以简单的从字面去理解,即“委托别人去执行某些操作”,也就是说执...

2006-11-15 10:49:00

阅读数:9307

评论数:6

《Effective C#》Item 20:区分接口实现与虚函数重载

本文的英文标题为“Distinguish Between Implementing Interfaces and Overriding Virtual Functions”,但是文章的内容主要涉及的是如何在多层继承中使用接口,因此觉得文章标题和内容有些不符(也许我水平比较低,无法真正理解文章的内容...

2006-11-04 20:03:00

阅读数:9551

评论数:9

怎么用C#制作印章

制作印章来说,主要是如何让字均匀的显示在弧线段上,那么一般的印章要么以圆或者椭圆为底图,不过这两者的算法大致相同,为了方便说明,如下就用相对简单的圆来举例说明,如果需要做椭圆的话,可以在我的基础上进行扩展,因为核心算法是一样的,相对于圆来说,椭圆求弧长以及各个字符的位置,这两点相对麻烦些,但是这两...

2006-11-04 19:15:00

阅读数:11125

评论数:12

《Effective C#》Item 19:推荐在继承中使用接口

.Net提供了接口,这个不同于Class或者Struct的类型定义。接口有些情况,看似和抽象类一样,因此有些人认为在.Net可以完全用接口来替换抽象类。其实不然,接口和抽象类各有长处和缺陷,因此往往在应用当中,两者要结合来使用,从而互补长短。 接下来先说说抽象类和接口的区别。区别一,两者表达的概念...

2006-10-31 09:25:00

阅读数:7156

评论数:3

借助WebService实现多线程上传文件

在WebService的帮助下,进行多线程上传文件是非常简单。因此我只做个简单的例子,那么如果想要实现此功能的朋友,可以在我的基础上进行扩展。 首先说说服务器端,只需要提供一个能允许多线程写文件的函数即可,具体代码如下。[WebMethod]public bool UploadFileData( ...

2006-10-12 19:47:00

阅读数:16082

评论数:13

《Effective C#》Part II:第二部分总结

第二部的主题在于资源管理,.Net编写的程序以托管程序居多,但是并不意味着可以不注意细节,合理的使用.Net提供的便利,加上好的习惯,有利于程序效率提高。 这部分包括7个单元,分别如下:Item 12: Prefer Variable Initializers to Assignment Stat...

2006-10-10 20:28:00

阅读数:6797

评论数:1

《Effective C#》Item 18:Dispose函数的标准实现模式

对于托管程序来说,非托管资源来说,需要手动来释放,否则会造成资源泄漏,如果放到析构函数去完成,但是GC调用对象的析构函数时机并不确定,对于资源释放并不及时。换句话说析构函数只是保障资源不被泄漏的方法,但不是最好的方法。比较好的方法,就是使用.Net的IDisposable接口提供的Dispose方...

2006-10-10 20:12:00

阅读数:10266

评论数:6

《Effective C#》Item 17:减少装箱(Boxing)和拆箱(Unboxing)操作

为了便于文章的开展,首先介绍装箱(Boxing)和拆箱(Unboxing)这两个名词。.Net的类型分为两种,一种是值类型,另一种是引用类型。这两个类型的本质区别,值类型数据是分配在栈中,而引用类型数据分配在堆上。那么如果要把一个值类型数据放到堆上,就需要装箱操作;反之,把一个放在堆上的值类型数据...

2006-10-08 19:15:00

阅读数:12133

评论数:7

《Effective C#》Item 16:尽量减少垃圾产生的数量

对于.Net所写一般程序来说,都属于托管程序,内存的释放和回收是由Garbage Collector完成。但是相对于栈上内存操作而言,GC回收堆上的内存,会消耗更多的CPU时间,这方面的内容可以参看这篇文章。http://blog.csdn.net/knight94/archive/2006/08...

2006-10-08 19:07:00

阅读数:8878

评论数:1

《Effective C#》Item 15:利用using和try-finally来释放资源

我以前写过一篇文章,关于.Net资源释放问题,也就是对于非内存的资源,最好使用IDisposable接口提供的Dispose来释放,详情参看这篇文章。http://blog.csdn.net/knight94/archive/2006/08/05/1023352.aspx 很明显,Dispose方...

2006-10-08 18:58:00

阅读数:9353

评论数:5

《Effective C#》Item 14:使用构造函数初始化语句

在写程序的时候,往往会出现为一个类型提供不同场景的构造函数,可能大多构造函数比较相似,而C#中又不允许缺省参数,因此构造函数的编写无疑是一个重复工作。但是使用Copy和Paste来完成构造函数的编写,有时候很难达到统一,尤其是当成员发生变化的时候。因此比较常见的替换方法就是为构造函数提供一个统一的...

2006-09-05 10:46:00

阅读数:7978

评论数:1

《Effective C#》Item 13:使用静态构造函数初始化静态成员

编写程序的时候难免要使用到静态成员,由于静态成员的访问是脱离类型对象的,所以使用非静态构造函数,私有方法或者一些其他方法都是不合理的。.Net提供了成员初始化语句和静态构造函数来初始化静态成员。 根据上一个单元,我们可以知道静态成员的初始化语句会早于静态构造函数执行,其次还知道成员初始化语句的好处...

2006-09-05 10:17:00

阅读数:7882

评论数:3

《Effective C#》Item 12:推荐使用成员初始化语句

为了方便内容的开展,先说说一个对象的构造过程。对于类型第一个实例的构造过程大致如下:1. 分配静态成员的内存空间,此时空间存储数据为0;2. 执行静态成员的初始化语句;3. 执行基类的静态构造函数;4. 执行类型的静态构造函数;5. 分配成员的内存空间,此时空间存储数据为0;6. 执行成员的初始化...

2006-09-01 10:15:00

阅读数:8556

评论数:2

CSDN第一期总结之四:Stream的问题

IO操作基本上需要用到Stream相关的子类,因此这类问题在CSDN问得也是比较多。其实对于Stream来说,操作起来比较简单,只要对细节的处理稍微注意一下,相信在使用它的时候也会得心应手。 对于Stream相关的问题,大致分如下几类。问题一,基本操作的问题;问题二,编码的问题;问题三,尾部处理问...

2006-08-25 10:07:00

阅读数:10197

评论数:4

CSDN第一期总结之三:Thread的问题

C#是一门支持多线程的语言,因此线程的使用也是比较常见的。由于线程的知识在Win32编程的时候已经说得过多,所以在.Net中很少介绍这部分(可能.Net不觉得这部分是它所特有的)。 那么线程相关的问题大致有如下四类(这篇文章只讨论单线程、单线程与UI线程这两方面的问题)。问题一,线程的基本操作,例...

2006-08-24 10:09:00

阅读数:43270

评论数:65

CSDN第一期总结之二:ADO.NET + DataGrid的问题

现在写程序要完全不沾数据库的边恐怕很难,那么用C#写程序也是一样,会经常遇到数据库方面的问题。在C#中操作数据库是使用ADO.Net来完成,而显示数据这一方面常常要用到的是DataGrid这个组件,因此这两个问题也是论坛中问得最多的。 对于ADO.Net来说,涉及的问题大致分为如下几类:第一类,数...

2006-08-23 09:58:00

阅读数:9883

评论数:9

CSDN第一期总结之一:Form问题

Form问题是最基本的问题,因为编写WinApp程序首先接触的对象就是它,因此在论坛中对它而产生的问题也最常见。 与Form相关的常见问题大致分为如下的四类问题。第一类问题:如何控制窗体的显示顺序;第二类问题:窗体之间的对象如何相互引用或操作;第三类问题:如何处理窗体唯一性问题;最后一个问题:如何...

2006-08-22 09:00:00

阅读数:35035

评论数:22

如何完成一个实现Pause和Continue这两个功能的Windows Service

如何实现一个Windows Service,我以前有篇文章进行介绍过,具体地址如下,如果想做这方面程序的话,可以先看它。http://blog.csdn.net/knight94/archive/2006/03/17/627298.aspx 但是对于一个Windows Service来说,经常是2...

2006-08-22 08:26:00

阅读数:8486

评论数:4

《Effective C#》Part I:第一部分总结

第一部分是语言使用的基础,而这是使用语言的基本功,也是平常最不注意的,养成好的习惯,有利于后期水平提高。 这部分包括11个单元,分别如下:Item 1:   Always Use Properties Instead of Accessible Data Members《Effective C#》...

2006-08-21 08:21:00

阅读数:6661

评论数:5

提示
确定要删除当前文章?
取消 删除
关闭
关闭