C#编程中的类型系统与注释使用
1. 强类型(Strong Typing)
在C#编程里,强类型是一个关键特性。C#对数字的书写方式有严格区分,像整数1和浮点数1.0,尽管数值看似相同,但在C#中属于不同类型。而且,通过添加字母还能进一步区分,例如1.0和1.0f就是不同的数字。
C#作为强类型编程语言,要求开发者严格区分不同类型。比如1 + 1.0f这样的运算就会产生问题,因为这两个数字类型不同,在进行运算前必须将其中一个转换为与另一个匹配的类型。
要实现类型转换,需使用强制类型转换运算符(cast operator)。例如,1 + 1.0可以转换为1 + 1或者1.0 + 1.0,具体取决于选择的操作。类型不仅影响内存使用方式,还能减少团队编程时可能出现的问题。
在Unity中, Vector3 vec = new Vector3(1.0, 1.0, 1.0)
会抛出错误。因为1.0是双精度浮点数(double),占用64位,而1.0f是单精度浮点数(float),占用32位。 Vector3
由三个单精度浮点数组成,并非双精度浮点数。所以,正确声明 Vector3
的方式是 Vector3 vec = new Vector3 (1.0f, 1.0f, 1.0f)
。
以下是不同类型的位数和使用场景总结:
| 类型 | 位数 | 使用场景 |
| ---- | ---- | ---- |
| byte | 8位 | 存储较小的整数 |
| nibble | 4位 | 不常用,可用