摘要:
有时我们没有源代码,但是又需要在某个类中添加一些需要的方法,如何在不改变类源码的情况下,为类添加一个或多个方法呢?扩展方法就为我们提供了一个思路 阅读全文
摘要:
分部类通过关键字partial进行声明,分部类可以将类、结构或接口的定义拆分到两个或多个源文件中。每个源文件包含类定义的一部分,编译应用程序时将把所有部分组合起来。 阅读全文
摘要:
结构属于值类型,也就是存储在堆栈中(详细讲解请看2.3.3值类型和引用类型),通过这种方式可以在数据的生存期上获得很大的灵活性,但性能会有一定的损失。因为托管堆的优化,这种性能损失比较小。
结构和类一样可以拥有成员,包括:构造函数、方法、属性、字段、常量、枚举类型、事件、以及事件处理函数等。
有时我们需要一个小的数据结构,此时,类提供的功能多于我们需要的功能,由于性能的原因,我们最好使用结构。 阅读全文
摘要:
匿名类就一个没有名称的类,它同样继承自Object。匿名类通常和var、new一起使用,例如,我们需要定义一个对象,该对象中包含姓名、年龄、性别3个字段: 阅读全文
摘要:
装箱:是将值类型转换成引用类型的过程。
拆箱:是将引用类型转换成值类型的过程。 阅读全文
摘要:
C# 中的类型一共分为两类,一类是值类型(Value Type),一类是引用类型(Reference Type)。值类型和引用类型是以它们在计算机内存中是如何被分配的来划分的。 阅读全文
摘要:
变量的作用域是可以访问该变量的代码区域。一般情况下,确定作用域遵循以下规则:
1.只要类在某个作用域内,其字段(也称为成员变量)也在该作用域内(这句话可以简单的理解为,类中定义的字段可以在类中的任意地方被访问到)。
2.局部变量存在于表示声明该变量的块语句或方法结束的有花括号之前的作用域内。(注意:局部变量的作用域是定义该变量的语句块或方法的左右花括号之间的区域,而不是从定义该变量的语句开始到定义该变量的语句块或方法的右括号之间的区域,这个是我之前犯的一个错误。可以参考下边的例 2-4 )
3.在for、while或类似语句中声明的局部变量存在于该循环体内。 阅读全文