构成 C# 语言的基本元素
关键字(Keywords)
- if else int long ...
操作符(Operators)
- +、-、*、/ ^ | ! ...
标识符(Identifier)
- 类、成员等的名字
- 要遵循命名规范
标点符号
- ; , 等
文本(字面值)
- 整形、长整型、单精度浮点数、双精度浮点数、字符、字符串、布尔值,空
注释与空白
类型(Type)
- 又名数据类型
- 数据在内存中存储时的“型号”
- 小内存容纳大尺寸数据,会丢失精确度、发生错误
- 大内存容纳小尺寸数据会导致浪费
- 编程语言的数据类型与数学的数据类型不完全相同
类型的作用
- 存储此类型变量所需要的内存空间大小
- 此类型的值可表示的最大值、最小值范围
- 此类型所包的成员(如方法、属性、事件等)
- 此类型由何基类派生而来
- 程序运行时,此类型的变量分配在内存中的位置
- 此类型所允许的操作(运算)
C#语言的类型系统
C#的五大数据类型
- 类(Classes):如Window,Form,Console,String
- 结构体(Structures):如int32,int64,Single,Double
- 枚举(Enumerations) :如HorizontalAlignment,Visibility
- 接口(Interfaces)
- 委托(Delegates)
C#类型的派生谱系
变量、对象与内存
什么是变量
- 表面上看,变量的用途是存储数据
- 实际上,变量表示了存储位置,并且每个变量都有一个类型,以决定什么样的值能够存入变量
- 变量一共有7种:静态变量、实例变量(成员变量、字段),数组元素、值参数、引用参数、输出形参、局部变量
- 狭义的变量选择指的是局部变量
- 变量的声明:[有效的修饰符组合] 类型 变量名 [初始化器]
- 变量=以变量名所对应的内存地址为起点,以其数据类型所要求的存储空间为长度的一块内存地址
值类型的变量
- 值类型没有实例,所谓的“实例”与变量合二为一
引用类型的变量与实例
- 引用类型变量与实例关系:引用类型变量里存储的数据是对象的内存地址
变量的默认值
常量
-值不可改变的变量
装箱与拆箱(Boxing与Unboxing)
int i=100;
object obj = i; // 装箱
int m = int(obj); // 拆箱
操作符
不安全上下文、取地址、引用操作符
class Program
{
static void Main(string[] args)
{
unsafe
{
Student stu;
stu.ID = 1;
stu.Score = 99;
Console.WriteLine(stu.ID);
Console.WriteLine(stu.Score);
Student* pStu = &stu; // 取地址,交给指针变量
pStu->Score = 100;
Console.WriteLine(pStu->Score);
(*pStu).Score = 1000; // 需要加(),因为.操作符的优先级比*高
Console.WriteLine(stu.Score);
}
}
}
struct Student
{
public int ID;
public long Score;
}
评论 (0)