《刻意练习之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;

 

《刻意练习之C#》-0008- 变量

上一篇:ASP.NET WebApi+Vue前后端分离之允许启用跨域请求


下一篇:Oracle 学习笔记 18 -- 存储函数和存储过程(PL/SQL子程序)