首页 > 代码库 > 2.1 变量的声明及初始化
2.1 变量的声明及初始化
1 //声明变量的同时进行初始化 2 int intVariable = 10; 3 4 //先声明一个变量,然后再初始化 5 string strVariable; 6 strVariable = "Variable"; 7 8 //同时声明多个变量并初始化,其中变量的类型必须一致 9 int intVarialbe1 = 10, intVariable2 = 20, intVariable3 = 30; 10 string strVariable1 = "Variable1", strVariable2 = "Variable2", strVariable3 = "Variable3"; 11
错误尝试:如果声明了变量而没有为其赋初始值,会出现什么情况呢?
例 2-1:我们通过下边的代码进行测试
1 //声明代码,不进行初始化
2 int intVariable;
3 string strVariable;
4
5 //引用为进行初始化的变量
6 Console.WriteLine(intVariable.ToString());
7 Console.WriteLine(strVariable);
代码下方出现波浪线,将光标移动到波浪线提示的变量上,可以看到下图的错误提示:
图 2?1 变量未赋初始值时的错误
编译时,错误列表中的错误提示:
图 2?2 错误列表中的错误提示
为什么必须为声明的变量进行初始化呢?
上面的例子中,由于在操作中引用了没有进行初始化的变量,而导致了错误的产生。变量的初始化是C#强调安全性的方式之一,C#编译器会将未初始化的变量当作错误看待,这可以防止我们无意的从其他程序遗留下来的内存中获取垃圾值。
为了防止使用未初始化的变量,导致问题的产生,C#通过两种方式来解决:
- 方法中的局部变量必须在代码中显式初始化,如果编译器检测到局部变量在初始化之前就使用了它的值,就会产生错误。(需要强调的是,这里说的是局部变量)
- 类或结构中的字段,不管是静态的还是非静态的,这些变量如果没有显式初始化,在创建这些变量时,就为其设置了默认值(int、double、bool等值类型的变量初始化为它的默认值;数组、集合等引用类型的变量初始化为Null)。
表格 2?1 值类型变量的默认值
变量类型 |
默认值 |
sbyte,byte,short,ushort,int,uint,long,ulong |
0 |
char |
‘\0‘ |
float |
0.0f |
double |
0.0d |
decimal |
0M |
bool |
false |
enum |
0 |
2.1 变量的声明及初始化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。