项目终于告一段落,爽!
也终于可以静下心来看看书了,虽然整个项目的开发语言是用C#完成的,但总感觉C#基础打不是很牢固,因此找同事借了一本Stanley
B.Lipppan著,候捷候老师和陈硕合译的这本《c# Primer 中文版》,打算好好的把一些基本的东西给弄明白。
第一章 Hello,C#学习笔记
1、别名
运用using 指令为一个(活所有)多重定义的实体取别名。别名(alias)仅在当前的声明空间内有效
using Namespace1;
using Point2D=Namespace1.Point;
2、局部对象(Local Object)
Local Object最好是在定义以后就给它赋一个初始值
Local Object使用有着次序依赖性。某个名称一旦在某个局部生存空间(local scope)内被用过,那么如果你试图改变既有名称的含义(例
如引入该名称的一个新声明)会导致错误。Class的成员声明式的先后顺序无关重要。
3、数据类型
C#内置类型
类型 字节数 解释
byte 1 无符号 字节型
sbyte 1 有符号 字节型
short 2 有符号短 字节型
ushort 2 无符号短字节型
int 4 有符号整型
uint 4 无符号整型
long 8 有符号长整型
ulong 8 无符号长整型
float 4 浮点数
double 8 双精度数
decimal 8 固定精度数
string unicode字串型
char unicode字符型
bool 真假布尔型
用户定义类型包括:
类类型(class)
结构类型(struct)
接口类型(interface)
数据类型的内存分配形式的不同又把它们分成了两种类型:
值类型(value Types)
引用类型(Reference Types)
值类型:
值类型数据在栈中分配。他们包括:所有基本或内置类型(不包括string类型)、结构类型、枚举类型(enum type)
引用类型:
引用类型在堆中分配,当它们不再被使用时将被垃圾收集。它们使用新的运算符来创建,对这些类型而言,不存在C++当中的delete操作符,
根本不同于C++会显式使用delete这个运算符去释放创建的这个类型。C#中,通过垃圾收集器,这些类型会自动被收集处理。引用类型包括:类
类型、接口类型、象数组这样的集合类型类型、字串类型、枚举类型
4、装箱和拆箱
※装箱
(1)、在managed head(受控堆)内分配一个object box(一块空间),准备用来持有value object值;
(2)、将value object值复制到箱内;
(3)、将箱子的“managed head”地址赋予object OBJECT,完成装箱;
(4)、采用经过装箱的数值类型会导致性能的降低。
※拆箱
(1)、值类型经过装箱后,我们不能访问原有类型的任何成员(包括属性和方法);
(2)、只有引用类型数据需要拆箱