C#中成员变量和局部变量
writeline输出数值变量⼀.成员变量
1.定义:在类中定义的变量是成员变量;
2.作⽤范围:在整个类中都有效;
3.分类:成员变量⼜分为实例变量和静态变量
4.默认值:(成员变量不赋初始值的情况下,会⾃动匹配默认值)
创建类的⼀个实例时,在执⾏构造函数之前,如果你没有给成员变量赋初始值,C#编译器缺省将每⼀个成员变量初始化为他的默认值。
对于其他情况,编译器会在创建变量时,把变量初始化为默认值。
1、对于整型、浮点型、枚举类型(数值型),默认值为0。
2、字符类型的默认值为\x0000。
3、布尔类型的默认值为false。
4、引⽤类型的默认值为null。
class A
{
string a;
public void ss()
{
string b;
}
}
以上例⼦中,a为全局变量,b为局部变量
⼆.局部变量
1.定义:在⽅法中定义的变量称为局部变量
2.作⽤范围:在当前定义的⽅法中有效,⽅法调⽤被销毁,不能在其他类中调⽤
3.默认值:如果是局部变量,在使⽤该变量之前,代码必须给他设定⼀个初始值,否则会发⽣“使⽤了未赋值的局部变量”错误。
三.局部变量和字段的区别
局部变量,在程序每运⾏⼀次后,就会被销毁,下次再运⾏就会被重新初始化
字段只要是⼀个对象,只要对象不被销毁,就会⼀直保持对象的字段值;
四.字段和局部变量的作⽤域冲突
class Program
{
static int j = 20;
static void Main(string[] args)
{
int j = 30;
Console.WriteLine(j);
Console.WriteLine(Program.j);
Console.ReadLine();
return;
}
}
例⼦中定义了两个变量j;在Main()⽅法的作⽤域中也定义了变量j,代码也会编译在类级上定义的j和Main()⽅法中定义的j;类级的变量j会被看成字段,此时Main()⽅法中的新变量j隐藏了同名的类级变量,所以运⾏代码时会显⽰数字30;如果要引⽤类级变量j时,只能使⽤类本⾝的名称。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。