代码中经常使用变量用于记录,如:一个人的年龄、身高、家人等。这些数据用于记录这个人的信息,并且在运行过程中,这些数据可以发生变化,叫做变量。在不同的地方声明的变量作用域不同。在同一作用域下不可存在多个相同名字的变量。
目录
变量:
变量可以指一个值,也可以指另一个对象。变量内存存储在声明它的地方。
格式:数据类型 + 变量名 = 变量值;
成员变量:
成员指作为类的类成员, 将变量作为类成员声明在类中,当前类被实例化时跟随类对象一起存储。与方法同级,作用域为整个类中。
格式:访问权限修饰 + 数据类型 + 变量名;//可选择先声明不赋值 有默认值
访问权限修饰 + 数据类型 + 变量名= 变量值;//可选择声明时赋值
局部变量:
指在方法中或在一段逻辑中声明的变量,在方法或逻辑执行完销毁释放。它的作用域仅在声明的地方中,并且属于值类型,存储在栈空间。格式与成员变量一样。
全局变量:
指在运行期间,作用域为整个程序的变量。c#作为面向对象语言,没有全局变量的概念。但可以使用静态来代替。
参考静态文章:https://blog.csdn.net/m0_59267625/article/details/142637490?spm=1001.2014.3001.5502
代码示例:
namespace ConsoleApp3
{
internal class Program
{
static void Main(string[] args)
{
MyClass1 myClass1= new MyClass1();
myClass1.Func1();//输出: _id默认值 _name值 以及tId值
myClass1.Func2();
myClass1.Func3();
}
}
public class MyClass1
{
public int _id;//成员变量 没有赋值 使用默认值
public string _name="小明";//成员变量 声明时赋值
public void Func1()
{
int tId = 0;//方法中的局部变量
Console.WriteLine("成员变量 :_id " + _id);
Console.WriteLine("成员变量 :_name " + _name);//在类中成员变量都可被调用
Console.WriteLine("局部变量 :tId " + tId);
}
public void Func2()
{
//在方法2中调用方法1 的局部变量 报错:不存在tId 说明出了方法1 tId作用域失效
//Console.WriteLine("局部变量 :tId " + tId);
Console.WriteLine("Func2成员变量 :_id " + _id);//可访问 说明成员变量作用域为整个类
}
public void Func3()
{
if (true)
{
int tId = 10;//声明if语句块中的局部变量
Console.WriteLine("Func3 if局部变量 :tId " + tId);
}
//报错:不存在tId 说明出了语句块 tId失效
//Console.WriteLine("Func3 if局部变量 :tId " + tId);
}
}
}
标签:Console,变量,C#,成员,局部变量,作用域,tId,全局变量
From: https://blog.csdn.net/m0_59267625/article/details/142678659