摘要: 这一篇中,我们就围绕SQL优化来开始这次讲解,为什么第一讲要说SQL优化?因为我认为这是程序员的基本功,而且也是我们必须要去掌握的,虽然你写的SQL语句能完成相应的功能,但是你是否考虑过这些语句碰到海量数据或者暴力访问时会不会带来效率的大幅度的减慢?也许很多程序员和我一样在碰到系统响应时间过慢的时候,就会说:“怎么回事啦!服务器太破了,这么慢!”或者“网络怎么这... 阅读全文
posted @ 2010-09-09 20:53 wl98766789 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 在讲委托,事件之前,我想问大家一个非常简单的问题,也许在我们日常的编程中基本上每天都会遇到,但是却往往不去了解的地方,请以下代码:[代码]看完之后大家是不是很熟悉,是不是我们每天都遇到过的,但是大家有没有想过所有方法中的两个参数(sender,e),到底是什么意思,有的人可能会说,这些都是VS编译环境自动生成的,搞的这么清楚干什么,能用就行了呗,不就是个窗体加载事件、点击按钮事件嘛,第二种人可能马... 阅读全文
posted @ 2010-09-09 15:50 wl98766789 阅读(891) 评论(1) 推荐(1) 编辑
摘要: 尽管在.NET framework下我们并不需要担心内存管理和垃圾回收(Garbage Collection),但是我们还是应该了解它们,以优化我们的应用程序。同时,还需要具备一些基础的内存管理工作机制的知识,这样能够有助于解释我们日常程序编写中的变量的行为。在本文中我将讲解栈和堆的基本知识,变量类型以及为什么一些变量能够按照它们自己的方式工作。  在.NET framework环境下,当我们的代... 阅读全文
posted @ 2010-09-09 10:50 wl98766789 阅读(363) 评论(2) 推荐(3) 编辑
摘要: using关键字有两个主要用途:作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。  作为语句,用于定义一个范围,在此范围的末尾将释放对象。*作为指令  using指令有两个用途:允许在命名空间中使用类型,这样,您就不必在该命名空间中限定某个类型的使用:[代码]为命名空间或类型创建别名。[代码]*作为语句  定义一个范围,将在此范围之外释放一个或多个对象。[代码]  C# 通过 .... 阅读全文
posted @ 2010-09-08 20:09 wl98766789 阅读(408) 评论(0) 推荐(0) 编辑
摘要: .Net 框架程序设计(修订版)中有这样一段描述:String类型直接继承自Object,这使得它成为一个引用类型,也就是说线程上的堆栈上不会驻留有任何字符串。(译注:注意这里的“直接继承”。直接继承自Object的类型一定是引用类型,因为所有的值类型都继承自System.ValueType。值得指出的是System.ValueType却是一个引用类型)。  一:[代码]C... 阅读全文
posted @ 2010-09-08 11:19 wl98766789 阅读(1998) 评论(0) 推荐(0) 编辑
摘要: 委托和事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里憋得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模... 阅读全文
posted @ 2010-09-06 11:05 wl98766789 阅读(750) 评论(0) 推荐(2) 编辑
摘要: 1.什么是委托,为什么要使用委托其实委托也是一个类,委托派生为System.MulticastDelegate,而System.MulticastDelegate又继承System.Delegate,如果你知道这个也就明白委托其实是一个特殊的类。  我们还是先说说委托吧,从字面上理解,只要是中国人应该都知道这个意思,除非委托2个中文字不认识,举个例子,我正在埋头苦写程序,突然想喝水,但是又不想自己... 阅读全文
posted @ 2010-09-05 12:56 wl98766789 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 1、索引器的定义  所谓索引器就是一类特殊的属性,通过它们你就可以像引用数组一样引用自己的类。  C#中的类成员可以是任意类型,包括数组和集合。当一个类包含了数组和集合成员时,索引器将大大简化对数组或集合成员的存取操作。  定义索引器的方式与定义属性有些类似,其一般形式如下:[修饰符]数据类型 this[索引类型 index]{ get{//获得属性的代码} set{//设置属性的代码}}  注意... 阅读全文
posted @ 2010-09-05 00:22 wl98766789 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 多态是面向对象编程中三大机制之一,其原理建立在"从父类继承而来的子类可以转换为其父类"这个规则之上,换句话说,能用父类的地方,就能用该类的子类.当从父类派生了很多子类时,由于每个子类都有其不同的代码实现,所以当用父类来引用这些子类时,同样的操作而可以表现出不同的操作结果,这就是所谓的多态.  多态允许将子类的对象当作父类的对象使用,某父类型的引用指向其子类型的对象,调用的方法是该子类型的方法。比如... 阅读全文
posted @ 2010-09-04 14:17 wl98766789 阅读(1161) 评论(0) 推荐(0) 编辑
摘要: 从概念上看,值类型直接存储其值,而引用类型存储对其值的引用。这两种类型存储在内存的不同地方。在C#中,我们必须在设计类型的时候就决定类型实例的行为。这种决定非常重要,用《CLR via C#》作者Jeffrey Richter的话来 说,“不理解引用类型和值类型区别的程序员将会给代码引入诡异的bug和性能问题(I believe that a developer who misunde... 阅读全文
posted @ 2010-09-04 12:25 wl98766789 阅读(1018) 评论(0) 推荐(0) 编辑