随笔分类 -  C#

《Dot Net Book Zero》学习笔记之第十六、十七、十八章关键知识点
摘要:1.所有的类和结构体中都有Equals方法用于类和结构体之间是否相等的判断,该方法在System.Object类中定义。ValueType类中重写了这个方法,因此对于所有的结构体,只要是同一个结构体的实例,并且所有的域相等,那么这两个实例便相等,用Equals方法的结果是True。对于类,使用‘==’运算符的结果跟作用Equals方法的结果一致。类默认的Equals方法比较的是其引用值。结构体之间默认不能使用‘==’和‘!=’运算符,如果你想要用这两个运算符进行结构体间的比较就必须自己在结构体中定义这两个运算符的用法。2.相同结构体的实例之间使用‘=’,效果跟C++中的int等基本数据类型效果 阅读全文
posted @ 2013-02-10 12:31 RedHood 阅读(251) 评论(0) 推荐(0)
《Dot Net Book Zero》学习笔记之第十三、十四、十五章关键知识点
摘要:1.Classisareferencetype,structureisavaluetype.类是引用类型,数据存储在堆中。结构是数值类型,数据直接存储在栈中。但结构体也可以存储在堆中,比如一个结构体数组。结构体数组是引用类型,它的数据结构体存储在堆中。2.类能够从其它类继承,本身也能被其它类继承。但结构体不能明确进行指定继承其它结构体,本身也不能被其它结构体继承。所有的类和结构体都是由.NET框架中的System.Object类派生出来。C#中,object关键字就是System.Object类的别名。3.System.ValueType类直接继承System.Object类。虽然结构体不能显 阅读全文
posted @ 2013-02-09 11:49 RedHood 阅读(219) 评论(0) 推荐(0)
《Dot Net Book Zero》学习笔记之第十一、十二章关键知识点
摘要:1.readonly关键字可使变量在运行时不能被修改。staticreadonly与const的区别在于readonly是在运行时不能被改变,而const是在编译时进行替换。但在实际运用中,两者的作用效果是一样的。此外,readonly只能作用于域,而不能用于方法内的局部变量。2.C++中可以在方法中使用static声明静态变量,将这个变量的状态记录下来,但在C#中却不能这样做。3.C#中使用‘ref’关键字声明引用变量。在定义方法和调用方法时都需要加上ref关键字。在调用方法时,该方法的栈中存储的是一个指向原变量的引用。除了‘ref’之外还有‘out’关键字也可以声明引用变量,它们编译成的中 阅读全文
posted @ 2013-02-03 19:37 RedHood 阅读(248) 评论(0) 推荐(0)
《Dot Net Book Zero》学习笔记之第七、八、九、十章关键知识点
摘要:1.C#中‘==’可用于string类型间的比较。2.C#中‘&&’和‘||’运算符两边只能带bool类型的数据。3.If,while,dowhile语句中的条件表达式结果必须为bool类型。4.switch语句中每一个case后面必须带break,除非该case是一个空语句或者case后面加了gotocase跳转到另一个case语句。5.foreach语句中循环变量是只读的,因此你不能使用foreach语句来对数组进行初始化。6.类是引用类型,结构是值类型。结构如int,double运行时存储在栈中,类如string等存储在堆中,并且在栈中有一个指向堆中数据的引用地址。引用与 阅读全文
posted @ 2013-02-01 20:21 RedHood 阅读(237) 评论(0) 推荐(0)
《Dot Net Book Zero》学习笔记之第六章关键知识点
摘要:1.C#中short类型占两个字节,int类型占四个字节,long类型占八个字节。C#中没有unsigned这个关键字,取而代之的是ushort,uint,ulong。C#中同样有占一个字节的整数类型,byte和sbyte。2.使用const声明为常量时,不必再使用static声明为静态,它本身已经隐式地声明为静态了。常量在运行时并不会像变量一样占据一定内存空间,在编译时就在代码中将它们替换成它们所代表的整数或字符。3.在C#中可以用checked关键字检查数据是否溢出。4.C#中char类型占用两个字节,代表一个Unicode编码,转换成int型时需要进行显式转换。5.C#编译器会把任何带有 阅读全文
posted @ 2013-02-01 15:14 RedHood 阅读(185) 评论(0) 推荐(0)
《Dot Net Book Zero》学习笔记之第五章关键知识点
摘要:1.在字符串前面加上‘@’,如@"\DocumentsandSettings\Charles\Favorites",字符串中的‘\’将不会再被翻译为转义字符。2.跟C和C++不同,C#本身带有string类型来存储字符串。string其实是System命名空间中String类的别名。同样地,char是System命名空间中Char结构的别名,int是Int32结构的别名。3.C#中string类型是不可变的,你不能对其中的任意一个字符进行修改,但可以将整个字符串替换掉。4.Console类和Environment类均为静态类,不能被实例化。5.任何类中都有ToString方 阅读全文
posted @ 2013-02-01 13:52 RedHood 阅读(211) 评论(0) 推荐(0)
《Dot Net Book Zero》学习笔记之第四章关键知识点
摘要:1.usingSystem.Console.WriteLine解释System是命名空间;Console是System命名空间中的一个类;WriteLine是Console类中的一个方法。2.C#编译过程中会默认去mscorlib.dll中寻找相关的命名空间,类,和方法,因此对于一些方法,比如System.Console.WriteLine,你并不需要去对其引用。而对于某些方法,比如System.Windows.Forms,你必须对其进行引用才能保证编译时编译器会到相应的动态链接库中查找相应的方法而不发生错误。在VS2008中,只要在解决方案窗口中右击‘引用’,选择‘添加’即可添加相应的动态链 阅读全文
posted @ 2013-01-31 14:43 RedHood 阅读(216) 评论(0) 推荐(0)