C#变量 -0008

C#中变量的声明和初始化

C#编译器不允许使用未初始化的变量;简单的说,C#编译器需要某个初始值对变量进行初始化,之后才能在操作中引用该变量。

例如

int i;
Console.WriteLine(i);

编译会报错:

error CS0165: Use of unassigned local variable 'i' 

C#中可以在一行语句中声明并初始化变量:

int i = 0;

类型推断

C#中类型推断可使用 var 关键字声明变量:

var myVar = 10;

编译器可以根据变量的初始化值,推断出变量的类型。上面这句实际就会变成:

int myVar = 10;

变量的作用域

  • 局部变量存在于声明该变量的块语句或方法内;
  • 在for, while或类似语句中声明的局部变量存在于该循环体内;

注意,C#类级字段和局部变量:

using System;
namespace Test
{
  class Program
  {
     static int i = 20;
     static void Main()
     {
       int i = 30;
       Console.WriteLine(i);
     }    
  }
}

虽然在Main方法内,声明的两个i变量都可见,但不会有冲突。Main方法内的变量会隐藏类级别的变量,因此输出是 30;如果要访问类级别的变量,可以使用object.fieldName语法。

常量

常量是其值在使用过程中不会发生变化的变量,使用const关键字声明和初始化:

const int a = 100;
原文地址:https://www.cnblogs.com/codesee/p/13027537.html