上一页 1 ··· 6 7 8 9 10
摘要: 单例模式---顾名思义,就是一个类只有一个实例对象,只实例化一次。它有三个要点:(1)一个类只有一个实例(2)类本身自行创建这个实例(3)它必须自行上下向整个系统提供该实例。代码实现: 1 public class QQSingle 2 { 3 private string name; 4 private static QQSingle qqsingle; 5 private static object _lock = new object(); 6 public string Name 7 { 8 ... 阅读全文
posted @ 2013-04-08 16:44 楠楠IT 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 1、for(i=0;i<10;++i,sum+=i); 循环结束时 i 和sum的值分别是多少? 分析:循环结束时 i=10应该没有问题,sum计算的位置不是很常见,每次sum+=i 时,i 的值都是先自加1,即 i(从0到9),计算sum时是从1加到10,结果55;如果是:for(i=0;i<10;++i) sum+=i; 循环结束时 i 和sum的值分别是多少? 这次 i 依然是10,但是sum就是0到9的加和,结果45。2、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句。 #define Max(a,b) ((a-b)&(0x80))? b:a # 阅读全文
posted @ 2013-04-07 20:06 楠楠IT 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 指针是地址,指针的指针还是地址,只不过是保存的某指针变量的地址。废话不说,上菜,看代码: 1 #include <stdio.h> 2 #include <stdlib.h> 3 //关于指针的指针,赋值以及其意义 4 int main() 5 { 6 int a=8;//定义一个int型变量a,假设其在内存中的地址是1000 7 int *q;//定义指针变量q,q本身也需要内存存储,假设其地址是2000 8 q=&a;//给q赋值,即a的地址1000。此时q=1000,*q=a=8; 9 int **p;//定义指针的指针变量p,同理p也需要内存存储,假.. 阅读全文
posted @ 2013-04-05 18:38 楠楠IT 阅读(2872) 评论(0) 推荐(1) 编辑
摘要: for循环可以说是程序中最灵活,最常用,最重要的一个循环用法,大家经常用到,但是你真正理解for循环的运行原理吗? 举个例子:for(i=0;i<8;i++) 对于这个语句运行结束的时候 i 是多少? 经常用,却没怎么注意,运行结束的时候 i 是8;下面说一下for循环语句的运行过程: for(表达式1;表达式2;表达式3) {循环体} 这三个表达式,可以都有,也可以都没有,也可以由任意的一项或两项,这就是for的灵活性所在;解释一下三个表达式的含义: 表达式1:这个一般是初始化条件,如i=1。在第一个分号之前,可以用一个,也可以好几个,用逗号隔开; 表达式2:这个是循环条件,... 阅读全文
posted @ 2013-04-05 18:05 楠楠IT 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。本文通过文氏图解释了SQL的Join,清楚易懂,值得学习。假设我们有两张表。Table A 是左边的表。Table B 是右边的表。其各有四条记录,其中有两条记录是相同的,如下所示:id name id name1 Pirate 1 Rutabaga2 Monkey 2 Pirate3 Ninja 3 Darth Vader4 Spaghett... 阅读全文
posted @ 2013-04-05 13:44 楠楠IT 阅读(372) 评论(1) 推荐(0) 编辑
摘要: 在C#中,我们可以非常自由的、毫无限制的访问公有字段,但有时我们可能希望:(1)限制只能给字段赋于某个范围的值;(2)或是要求字段只能读或只能写;(3)或是在改变字段时能改变对象的其他一些状态; 这些只靠字段是无法做到的,于是就有了属性。 属性中包含两个块:set和get,set块负责属性的写入工作,get块负责属性的读取工作。 在两个块中都可以做一些其他操作,如在set中验证赋的值是否符合要求并决定是否进行赋值。 set和get块中属性必需有一个,因为即不能读又不能写的属性是没有意义的。 下面举个简单的例子:(1)属性可以保证安全,当不在本类中使用时,使用属性名可以避免用字段的名... 阅读全文
posted @ 2013-04-04 13:44 楠楠IT 阅读(1618) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式---顾名思义,就是有一个工厂,你用它可以生产不同的产品,当然产品的生产细节你不需要知道,你只负责得到产品,生产过程都封装在工厂内部。简言之,就是一个工厂,你要告诉他你想要的产品名称,他就给你输出产品。 下面我们举个例子简单说明一下。你和朋友去吃肯德基,你告诉服务员我要鸡翅,你朋友说我要炸土豆条。过了一会,你们要得东西就来了,但是他们怎么做的你们不知道吧?你们只管开吃就好了。 用代码实现该过程: 首先,定义一个接口:用来获取不同产品1 public interface IFood2 {3 void get();4 } 然后,分别用两个类继... 阅读全文
posted @ 2013-04-04 10:12 楠楠IT 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 函数是所有程序中最重要的单位,无论是面向过程还是面向对象语言。怎样写好函数非常重要。下面是我看书还有结合自己的经验总结的: 首先,函数的书写要遵循一个很重要的原则:短小精悍,即语句要简短,功能要单一,尽量满足一个函数只做一件事情的原则。下面就具体函数的书写过程:(1)确定函数返回类型,voidintbool还是等等?暂时不确定设置为空void;(2)函数名称:函数名称要满足知名知意的原则,还要注意字母的大小写,例如快速排序的函数名一般QuickSort,至少我暂时找不到更适合的了!(3)函数的参数:有些函数没有参数,即为空;但是函数的功能一般是输入数据,返回处理结果,输入的数据即为参数,... 阅读全文
posted @ 2013-04-03 20:30 楠楠IT 阅读(983) 评论(0) 推荐(0) 编辑
摘要: c#中abstract class、virtual、interface是很重要的概念,刚接触难免会有很多疑惑,它们有什么区别,都怎么用,下面是我整理的一些帮助大家理解。 abstractclass是抽象类:比如说,圆形和三角形都是形状,圆形和三角形有具体的表现方式,定义为具体类。而形状没办法具体表现出来,就只能定义为抽象类,抽象类可以有自己的属性,可以有非abstract的方法。所以,抽象类强制要求其继承者重写,抽象方法声明时不提供其自身的实现,抽象类不能被实例化; interface是接口:相当于某些具体对象的交叉点,这个点本身不能做什么,只能把操作传达给各个具体的对象,让对象自己去... 阅读全文
posted @ 2013-04-03 20:06 楠楠IT 阅读(399) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10