![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 84
lmdcszh
学其神而用其形
展开
-
模板模式——多态、虚方法、抽象
分析详见:http://lvxingzhelimin.blog.163.com/blog/static/1707165502011101573020286/using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{原创 2011-11-15 19:31:31 · 503 阅读 · 0 评论 -
策略模式+简单工厂=强强联合
分析详见:http://lvxingzhelimin.blog.163.com/blog/static/170716550201110991449718/using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;usi原创 2011-11-09 21:22:41 · 1190 阅读 · 1 评论 -
抽象方法和虚方法的区别
1、虚方法必须有实现部分,而抽象方法必须没有实现部分,如下面的代码: //虚方法public class Animal{ public virtual void Sleep(){} public virtual void Eat(){}}//抽象方法public abstract class Animal{ public abstract void Slee原创 2012-02-07 17:20:45 · 2876 阅读 · 4 评论 -
.Net平台中虚方法的好处之个人见解
虽然机房收费系统的代码已经写完了,但是对于.net平台的一些机制的认识还是模模糊糊,记得在学习设计模式的时候就遇到了“虚方法”这个概念,但是对于“虚方法”的认识却好似一团迷雾,今天下午花了一个多小时的时间来研究这个小东东,现在总结一下对“虚方法”的认识,如有不合理之处,望各位大牛们多多斧正。 对于虚方法的官方解释比较复杂,这里就用我的理解来个通俗的解释。虚方法是相对于非虚的方法而言原创 2012-02-07 19:39:10 · 3142 阅读 · 6 评论 -
教你玩转浮动框和动态控件添加
我们在上网的时候经常会看到一些广告页面随着屏幕的滚动也一起滚动,还有一些在线考试的页面当中,也会看到考试须知随着页面的走动,那么这些功能是怎么实现的呢? 概要的说,实现这些效果需要CSS样式设计、javascript和asp.net、ado.net这几种知识的综合运用。 前台界面的显示需要asp.net界面设计和CSS搭配使用。主要涉及到样式设计中的浮动和布局样式设计。原创 2012-05-30 13:54:27 · 2403 阅读 · 8 评论 -
又见sql注入
提到sql注入,绝大多数程序员多不陌生,但是,很少有人会想到,微软在asp.net的默认配置中,已经对敏感字符做了初步过滤。 前天学校使用考试系统进行vb考试,其中某些学生抽到的填空题的答案中包含有:a当时出现这个问题后,让学生进行了二次登陆,然后再提交,这样交卷的问题就临时解决了。考试完毕后查看了一下出现问题的考生,发现在二次登陆的时候,系统自动将a<b的答案清除了。也就是原创 2012-06-09 14:43:22 · 1875 阅读 · 28 评论 -
C#正则表达式
(1)“@”符号以下两个声明是等效的:string x="D:\\My Huang\\My Doc";string y = @"D:\My Huang\My Doc";如果按如下声明,C#将会报错,因为“\”在C#中用于实现转义,如“\n”换行:string x = "D:\My Huang\My Doc";(2)基本的语法字符。\d 0-9的原创 2013-03-15 14:14:32 · 421 阅读 · 3 评论 -
装饰模式中的里氏代换——子类可以代替父类
分析详见:http://lvxingzhelimin.blog.163.com/blog/static/1707165502011101035413741/using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{原创 2011-11-10 15:54:21 · 907 阅读 · 1 评论 -
观察者模式——依赖倒置
分析详见:http://lvxingzhelimin.blog.163.com/blog/static/1707165502011101655652697/using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{原创 2011-11-16 17:56:31 · 698 阅读 · 0 评论 -
委托对观察者模式的改进
分析详见:http://lvxingzhelimin.blog.163.com/blog/static/1707165502011101655652697/using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{原创 2011-11-16 17:58:52 · 789 阅读 · 0 评论 -
重载和覆写
继承是子类使用父类的方法;多态是父类使用子类的方法。重载,类中定义的方法的不同版本(重新对某个类进行修改,)这里的修改也不是任何不着边际的修改,因此,在类的重载时,类名不变,参数列表必须不同,返回值可以不同;覆写,子类重复定义某个方法的不同实现(覆,是覆盖的意思,就是按照原来的模子,按照已经存在的套路,重新填入新的内容),因此,类名、参数列表、返回值都必须与原来的一致。另外,只有虚拟的方法和抽原创 2011-11-01 08:49:02 · 468 阅读 · 0 评论 -
委托
委托,就是将一件事情委托给别人去办理,但是代理人在办理这件事情的时候,往往需要按照原始人的意愿来处理这件事,因此,在使用委托的时候,除了需要指明代理人之外,还要用到原始人处理这件事方法。这个方法就是传入委托的参数。如果公司的经理比较忙,许多事情没有办法在同一个时间内完成,那么就需要委托别人代办了,对应到计算机中,当需要处理多个线程的时候就需要用到委托了。一个人的力量总是有限的,通过委托可以大大提高原创 2011-11-01 08:50:01 · 439 阅读 · 0 评论 -
索引器
索引器,可以看做是属性的扩展。它类似于数组,但不同于数组,我们可以通过索引器,按照不同的规则实现快速查找的功能,另外通过索引器,我们还可以实现向数组中添加数据的功能。也就是说通过索引器,我们可以实现向数组元素的读写操作。原创 2011-11-01 08:52:57 · 401 阅读 · 1 评论 -
拆箱和装箱
拆箱和装箱的本质是值类型和引用类型之间的转换。装箱,就是把值类型转换成引用类型;拆箱,就是把引用类型的值转换成值类型变量。 由于值类型都是些基本数据类型如:int char float ;而引用类型则是像class interfacedelegate这样的对象,所以在拆装箱的过程中,必然涉及到不同类型之间的转换。这种转换有隐式转换(自动装箱)和强制转换。 拆装箱操原创 2011-11-01 08:47:24 · 696 阅读 · 2 评论 -
容错机制
任何程序都会出错,因此,任何一种语言都要有容错处理的机制。在C#中就用到了Try ……Catch…… Finally这个结构。另外还有一个对应于VB中Error的一个所有错误的父类Exception。 Try,尝试的意思,安置于程序中来应付一些可能发生的错误。 Catch,抓住的意思,在程序中用该处理捕捉到的错误。 Finally,最终收原创 2011-11-01 08:52:15 · 931 阅读 · 0 评论 -
浅析堆和栈
堆栈描述的是计算机中的两种不同的数据结构。 那么,二者之间有什么异同?堆栈的意义或者说计算机利用堆栈原理实现了哪些好处呢?对于编程人员来说,我们应该怎么合理利用堆栈? 相同点: 堆和栈的数据组织原理大致相同。都是将数据项按序排列的的数据结构,只能在一端对数据进行插入或者删除。好比把数据放到一个管道内,管道的左端是堆,右端是栈,堆的数据从左到右放入,而栈中的数据从右向原创 2011-11-08 19:19:25 · 521 阅读 · 0 评论