装箱(boxing)和拆箱(unboxing)是C#类型系统的核心概念.是不同于C与C++的新概念!,通过装箱和拆箱操作,能够在值类型和引用类型中架起一做桥梁.换言之,可以轻松的实现值类型与引用类型的互相转换,装箱和拆箱能够统一考察系统,任何类型的值最终都可以按照对象进行处理. More …
对于职场新人来说,对社会的的一些潜规则还不是很懂,很容易惹上麻烦。经常受领导的刁难,同事的冷眼,遇到难题是无法解决,各种委屈一直缠上你。对于职场新人如何控制自己的情绪呢?下面西柚叫大家四大法宝,轻松hold你的坏情绪。 More …
属性可以说是C#语言的一个创新。当然你也可以说不是。不是的原因是它背后的实现实际上还是两个函数–一个赋值函数(get),一个取值函数(set),这从它生成的中间语言代码可以清晰地看到。是的原因是它的的确确在语言层面实现了面向对象编程一直以来对“属性”这一OO风格的类的特殊接口的诉求。理解属性的设计初衷是我们用好属性这一工具的根本。C#不提倡将域的保护级别设为public而使用户在类外任意操作–那样太不OO,或者具体点说太不安全!对所有有必要在类外可见的域,C#推荐采用属性来表达。属性不表示存储位置,这是属性和域的根本性的区别。下面是一个典型的属性设计: More …
public:
对任何类和成员都公开,无限制访问;
protected:
仅仅对该类以及该类的派生类公开;
private:
仅仅对该类公开;
internal:
只能值包含该类的程序集中访问该类;
protected internal:
只能在本类、派生类或者包含该类的程序集中访问。 More …
C# 中的每个对象都继承 ToString 方法,此方法返回该对象的字符串表示形式。例如,所有 int 类型的变量都有一个 ToString 方法,此方法可让这些变量将其内容作为字符串返回: More …
循环语句是编程的基本语句,在C#中除了沿用C语言的循环语句外,还提供了foreach语句来实现循环。那么我要说的就是,在循环操作中尽量使用foreach语句来实现。
为了来更好地说明为什么要提倡使用foreach,用如下三种不同方式来编写循环语句。 More …