C#学习笔记(四)
C#学习笔记(四)
- 第 二 章 命名空间和类、数据类型、变量和代码规范
- 三、C#的数据类型和变量
- 1.C#中的值类型
- 1.1 整型
- 1.2 浮点型
- 1.3 字符型
- 1.4 字符串型
- 1.5 布尔类型
- 1.6 日期类型
- 2.C#中的引用类型
- 2.1 引用类型包括类、接口、数组、委托、字符串等。
- 2.2 特殊的引用类型
- 2.3 引用类型的特征
- 3.C#变量的使用规则
- 3.1C#命名规范
第 二 章 命名空间和类、数据类型、变量和代码规范
三、C#的数据类型和变量
在C#中常用的数据类型可以分为两大类,分别是“数值型”和“引用类型“。其中值类型包括整型、浮点型、字符型、布尔型、枚举、日期型等;引用类型包括类、接口、数组、委托、字符串等。
1.C#中的值类型
1.1 整型
类型 | 取值范围 |
---|---|
byte | 无符号数,占用 1 个字节,0~28-1 |
short | 有符号数,占用 2 个字节,-215~215 -1 |
int | 有符号数,占用 4 个字节,-231~231 -1 |
long | 有符号数,占用 8 个字节,-263~263 -1 |
sbyte | 有符号数,占用 1 个字节,-27~27 -1 |
ushort | 无符号数,占用 2个字节,0~216 -1 |
uint | 无符号数,占用 4个字节,0~232-1 |
ulong | 无符号数,占用 8 个字节,0~264-1 |
注意:在 C#中,默认的整形是 int 类型。
1.2 浮点型
类型 | 取值范围 |
---|---|
float | 单精度浮点型,占用 4 个字节,最多保留 7 位小数 |
double | 双精度浮点型,占用 8 个字节,最多保留 16 位小数 |
1.3 字符型
只能存放一个字符,占用两个字节,能存放一个汉字。使用 char 关键字,例如 ‘a’、‘中’ 等。
1.4 字符串型
它是一个引用类型,在字符串类型中存放的字符数可以认为是没有限制的, 使用string 关键字,例如"abc"、“123” 等。
有些特殊字符串不能直接输出,如双引号等,需要转义字符。
转义 | 等价字符 |
---|---|
\’ | 单引号 |
\" | 双引号 |
\\ | 反斜杠 |
\r | 回车 |
\n | 换行 |
\t | 制表符 |
1.5 布尔类型
在 C# 中布尔类型使用 bool 来声明,它只有两个值,即 true 和 false。
1.6 日期类型
在 C#中,使用 datetime 来表示日期类型,使用方法如下
2.C#中的引用类型
2.1 引用类型包括类、接口、数组、委托、字符串等。
2.2 特殊的引用类型
其中特殊的有字符串,字符串属于引用类型,但是在实际应用中,它最后表现的效果还是“值类型的效果”。
如图
string str1 = "北上广";
string str2 = str1;
Console.WriteLine("str1:"+str1+"\nstr2:"+str2);
str2 = "深";
Console.WriteLine("str1:" + str1 + "\nstr2:" + str2);
运行结果
str1:北上广
str2:北上广
str1:北上广
str2:深
这里表现的特征是值的类型特征。
string str2 = str1;
因为这一步代码的实现过程是将str1的数据“北上广”复制了一份给str2。所以后面更改str2不会对str1造成影响。
2.3 引用类型的特征
int[] shuzu1 = {1, 2, 3};
int[] shuzu2 = shuzu1;
Console.WriteLine("shuzu1:"+shuzu1[0]+ ','+shuzu1[1]+','+ shuzu1[2]);
Console.WriteLine("shuzu2:" + shuzu2[0] + ',' + shuzu2[1] + ',' + shuzu2[2]);
shuzu2[0] = 9;
Console.WriteLine("shuzu1:" + shuzu1[0] + ',' + shuzu1[1] + ',' + shuzu1[2]);
Console.WriteLine("shuzu2:" + shuzu2[0] + ',' + shuzu2[1] + ',' + shuzu2[2]);
运行结果
shuzu1:1,2,3
shuzu2:1,2,3
shuzu1:9,2,3
shuzu2:9,2,3
可以看到 shuzu2[0] = 9;只进行shuzu2的修改,shuzu1的值也进行了同步修改,主要原因是int[] shuzu2 = shuzu1;这步的过程是将shuzu1的地址给到shuzu2而不关心内部数据。也就是看似是两个数组,其实他们两个都是指向了同一个内存数据,这就是引用类型。对象类型、委托、接口,等都是这种类型
3.C#变量的使用规则
变量是由变量名称、变量值、存储地址三部分组成。
3.1C#命名规范
与PLC不同,C#变量名区分大小写如int All;和int all;是两个变量。
- 类、属性、方法命名使用 Pascal 命名法,也就是首字母大写。如Name、Age、DateOfBirth。
- 变量组成由英文字母(AZ,az)、数字(0~9)、下划线(_),除此之外
不能含有其他字符。变量开头只能以字母或下划线开头比如_age,禁止使用 C#关键字(如 int、this、class…)。 - 方法内的局部变量使用 Camel(意思是骆驼)命名法,首字母小写。比如 stuName、stuAge、myStudentCount