特点:通用语言,类型安全,面向对象
目标:生产力,简洁性,表达力,高性能
创作者:Anders Hejlsberg (Turbo pascal 的创作者、Delph的主设计师、TypeScript的创作者)
C#是平台中立的,与平台无关
C#三大特性
- 封装:划定边界,将变量和对变量的操作封装到一个类中,通过类的实例来实现;
- 继承:(派生类、子类)继承(基类、父类),(派生类、子类)能自动获取(基类、父类),并能在(基类、父类)基础上添加新的属性和方法扩充其功能;
- 多态:使用父类对象统一操作子类对象,从而使父类对象有多种表现形态;
不同的值类型和引用类型
值类型:变量直接存储数据(int、long、float、char、bool、enum(枚举类型)、struct);
引用类型:变量反存储地址,通过地址找到对应的数据(类(class)、接口(interface)、委托(delegate object)、字符串(string));
string类型是一种具有值类型特性的特殊引用类型
值类型 | 引用类型 | |
内存分配地点 | 分配在栈中 | 分配在堆中 |
效率 |