智卓见

专注研究AI+全域运营
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  C#.NET

适合C#.NET初学者入门,也适合长期从事C#.NET开发人员查阅。
摘要:每个对象都有自己的属性、事件和方法。事件是由对象识别的操作,如单击鼠标或按一个键,可以通过程序代码响应一个事件。 一个对象的特性可以通过它的属性来设置。例如,音量是收音机的一个特性,在Visual Basic.NET中,可以说收音机有“音量”属性,通过改变它的值可以对这个属性进行调整: 阅读全文

posted @ 2011-09-02 23:17 智卓见 阅读(1342) 评论(0) 推荐(0)

摘要:预处理就是在编译程序之前由程序处理器对源程序进行一些加工处理工作。C#的预处理类似于C++预处理,但是,与C++不同的是C#没有独立的预处理器,并不是编译器开始编译代码之前的一个单独的处理步骤,它是作为词法分析的一部分来执行的。预处理指令都是以#开头,并且一行只能有一个预处理指令,指令结尾不需要用分号表示语句的结束。 阅读全文

posted @ 2011-08-09 22:06 智卓见 阅读(465) 评论(1) 推荐(0)

摘要:一般而言,所谓“异常”是指:程序在运行时发生的不正常的错误情况。而当异常状况产生时,若能通过捕捉这些异常情况来加以处理,便能在程序执行时避免错误的产生,从而避免陷入无法顺利运行程序的窘境。 阅读全文

posted @ 2011-08-07 22:14 智卓见 阅读(2189) 评论(0) 推荐(0)

摘要:正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态--库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。 阅读全文

posted @ 2011-08-05 23:11 智卓见 阅读(7569) 评论(1) 推荐(4)

摘要:对文件的读写操作应该是最重要的文件操作,System.IO命名空间提供了诸多文件读写操作类,对文件内容进行操作常见有3种方式:文本模式、二进制模式以及异步模式。 阅读全文

posted @ 2011-08-04 15:59 智卓见 阅读(520) 评论(0) 推荐(0)

摘要:File类为FileStream对象的创建以及文件的创建、复制、移动、删除和打开等提供了支持。使用File类对文件进行操作时,用户必须具备相应的权限(如读、写等权限),否则将导致异常产生。 File类提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建FileStream对象。File类的所有方法都是静态的,因而无需具有文件的实例就可以被调用。 阅读全文

posted @ 2011-08-04 15:57 智卓见 阅读(768) 评论(0) 推荐(0)

摘要:.NET框架提供了Directory类来对磁盘和目录的操作管理,Directory类在System.IO命名空间中。Directory类只包含静态方法,且从来不能被实例化。只要调用一个成员方法并提供合适的文件系统对象路径,就可以使用Directory类。 阅读全文

posted @ 2011-06-27 23:08 智卓见 阅读(651) 评论(0) 推荐(1)

摘要:在应用程序里面经常需要使用文件来保存数据,这就要使用文件的输入输出操作。 阅读全文

posted @ 2011-06-27 23:03 智卓见 阅读(651) 评论(0) 推荐(0)

摘要:同步线程在多线程应用程序中非常重要。但是,这是一个需要详细讨论的内容,因为很容易出现微妙且难以察觉的问题特别是死锁。 线程同步非常重要,但只要在需要时使用这一条也是非常重要的。因为这会降低性能。原因有两个:第一,在对象上放置和解开锁会带来某些系统开销,但这些系统开销都非常小。第二个原因更为重要,线程同步使用得越多,等待释放对象的线程也就越多。如果一个线程在对象上放置了一个锁,需要访问该对象的其他线程就只能暂停执行,直到该锁被解开,才能继续执行。因此,在lock块内部编写的代码越少越好,以免出现线程同步错误。Lock语句在某种意义上就是临时禁用应用程序的多线程功能,也就临时删除了多线程的各种优势。 另一方面,使用过多的同步线程的危险性(性能和响应降低)并没有在需要时不使用同步线程那么高 (能以跟踪的运行时错误)。 阅读全文

posted @ 2011-06-08 20:15 智卓见 阅读(1297) 评论(1) 推荐(0)

摘要:创建线程是Thread类的实例。Thread类是.NET Framework类库中的类,而且位于System.Threading名称空间中。因此,为创建Thread类的实例,首先要导入System.Threading名称空间。然后可以创建代表线程的Thread类对象。通过创建Thread类对象的多个实例,就可以在应用程序继承添加线程。 创建线程需要声明Thread类的对象,并提供线程开始执行的方法细节。为了达到这个目的,需要使用System.Threading名称空间中的public void委托ThreadStart()。 阅读全文

posted @ 2011-06-04 22:23 智卓见 阅读(692) 评论(0) 推荐(0)

摘要:C#通过名字空间(namespace)来组织程序中的各种类型,程序集是这些类型的物理容器,它包含具体的实现代码。所有的C#都具备名字空间,而且都具有一个全局名字空间。 除名字名字外,C#中还有很多种声明空间,如类型声明空间,语句声明空间等。 阅读全文

posted @ 2011-06-01 21:34 智卓见 阅读(2182) 评论(0) 推荐(1)

摘要:接口(interface)是用来定义程序的一种协定。实现接口的类或者结构要与接口的定义严格一致。有了这个协定,就可以抛开编程语言的限制(理论上如此)。接口可以从多个基接口继承,而类或结构可以实现多个接口。接口可以包含方法、属性、事件和索引器。接口本身不提供它所定义的成员的实现,接口只指定实现该接口的类或接口必须提供的成员。 接口好比一种模板,这种模板定义了实现接口的对象必须实现的方法,其目的就是让这些方法可以作为接口实例被引用。 阅读全文

posted @ 2011-05-30 20:08 智卓见 阅读(2433) 评论(0) 推荐(2)

摘要:面向对象程序设计中的另一个重要概念是多态性。在运行时,可以通过指向基类的指针来调用实现派生类中的方法。可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性的作用就体现出来了,这些对象不必是相同的对象。当然,如果它们都继承自某个类,可以把这些类都放到一个数组中。如果这些对象都有同名方法,就可以调用每个对象的同名方法。 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。多态性通过派生类重载基类中的虚函数型方法来实现。 在C#中支持两种类型的多态性: 阅读全文

posted @ 2011-05-29 00:42 智卓见 阅读(2686) 评论(2) 推荐(2)

摘要:当今的面向对象编程语言都提供了继承、多态和接口的功能,C#作为一种面向对象的高级编程评议也具有这样的特点。继承是面向对象语言的基本特征,是实现代码利用的手段。继承使得在原有类的基础之上,对原有的程序进行扩展,从面提高程序开发的速度,实现代码的复用。同一种方法作用于不同对象可以产生不同的结果,这就是多态。它是通过在基类中使用虚方法,在其派生类中使用重载实现的。 阅读全文

posted @ 2011-05-26 01:25 智卓见 阅读(3423) 评论(3) 推荐(3)

摘要:C#的委托相当于C/C++中的函数指针,函数指针用指针获取一个函数的入口地址,实现对函数的操作。委托是面向对象的,是引用类型,因此对委托的使用要先定义后实例化,最后才调用。委托与C/C++有本质的区别:C/C++中的函数指针仅仅是一个内存地址,其中不包含任何有关函数的参数、返回值以及调用约定等方面的信息。 阅读全文

posted @ 2011-05-24 23:11 智卓见 阅读(2191) 评论(18) 推荐(5)

摘要:属性(property)是类、结构和接口的命名成员,它们提供了通过访问器(set和get)读、写或计算私有字段的灵活机制。它是字段的自然扩展,都是与类型相关的有名称的成员,并且访问字段和属性的语法是相同的。所不同的是属性不指明存储位置,而是使用访问器读、写和计算求值。 阅读全文

posted @ 2011-05-07 21:51 智卓见 阅读(761) 评论(2) 推荐(1)

摘要:方法(在C语言中叫函数,或在类的内部调用方法时也可叫调用函数)在类中是最重要的函数成员。 方法修饰符中public、protected、private、internal、protected internal属于访问修饰符,用于表示访问的级别,默认情况下,方法的访问级别为public。访问修饰符也可以和其他的方法修饰符有效地组合在一起,但某些修饰符是互相排斥的。 阅读全文

posted @ 2011-05-07 21:48 智卓见 阅读(753) 评论(0) 推荐(0)

摘要:正如前面所述,对象是面向对象语言的核心,数据抽象和对象封装是面向对象技术的基本要求,而实现这一切的主要手段和工具就是类。类的成员包含数据成员(常量、域、事件)和函数成员(方法、属性、索引器、操作符、构造函数和析构函数等) 阅读全文

posted @ 2011-05-06 23:37 智卓见 阅读(719) 评论(0) 推荐(0)

摘要:一个面向对象的语言在处理对象时,必须遵循的三个原则是:封装、继承和多态。 所谓“封装”,就是用一个框架把数据和代码组合在一起,形成一个对象。遵循面向对象数据抽象的要求,一般数据都被封装起来,也就是外部不能直接访问对象的数据,外部能见到的只有提供给外面访问的公共操作(也称接口,对象之间联系的渠道)。在C#中,类是对象封装的工具,对象则是封装的基本单元。 封装的对象之间进行通信的一种机制叫做消息传递。消息是向对象发出的服务请求,是面向对象系统中对象之间交互的途径。消息包含要求接收对象去执行某些活动的信息以及完成要求所需要的其他信息(参数)。发送消息的对象不需要知道接收消息的对象如何对请求予以响应。接收者接收了消息,它就承担了执行指定动作的责任,作为消息的答复,接收者将执行某个方法,来满足所接收的请求。 阅读全文

posted @ 2011-05-06 23:34 智卓见 阅读(971) 评论(0) 推荐(1)

摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Reflection;namespace 反射{ class Program { static void Main(string[] args) { ReflcetionTest test = new ReflcetionTest(); test.ClassMemberInfo(); Console.ReadLine(); } } /// <summary> 阅读全文

posted @ 2011-05-06 01:19 智卓见 阅读(523) 评论(0) 推荐(1)