C#入门系列(四)——变量与常量
C#入门系列目录
上一节我们简单介绍了C#中的数据类型,本节我们将一起学习变量与常量。
C#是一种强类型语言。每一个变量和常量都有一个类型,类型中可存储以下信息:
- 类型变量所需的存储空间。
- 可以表示的最大值和最小值。
- 包含的成员(方法、字段、事件等)。
- 继承自基类型。
- 在运行时分配变量内存的位置。
- 允许执行的运算种类。
编译器将类型信息作为元数据嵌入可执行文件中。 公共语言运行时 (CLR) 在运行时使用元数据,以在分配和回收内存时进一步保证类型安全性。
一、变量
1、C#中的变量定义
在C#中声明变量必须指定其类型或使用 var 关键字让编译器推断类型
C#中变量定义的语法
<data_type> <variable_list>;
在这里,data_type 必须是一个有效的 C# 数据类型,可以是 char、int、float、double 或其他用户自定义的数据类型。variable_list 可以由一个或多个用逗号分隔的标识符名称组成。一些有效的变量定义如下所示:
int i, j, k; char c, ch; float f, salary; double d;
可以在变量定义时进行初始化:
int i = 100;
从 Visual C# 3.0 开始,在方法范围内声明的变量可以具有隐式“类型”var。var 关键字指示编译器通过初始化语句右侧的表达式推断变量的类型。 推断类型可以是内置类型、匿名类型、用户定义类型或 .NET Framework 类库中定义的类型。以下示例演示使用 var 声明局部变量的各种方式:
//编译为整型 var i = 5; //编译为字符串 var s = "Hello"; //编译为数组 var a = new[] { 0, 1, 2 }; //编译为IEnumerable<Customer>或者IQueryable<Customer> var expr = from c in customers where c.City == "London" select c; //编译为匿名类型 var anon = new { Name = "Terry", Age = 34 }; //编译为List<int> var list = new List<int>();
以下情况,可以使用var关键字:
- 在局部变量(在方法范围内声明的变量)上
- 在 for 初始化语句中。
for (var x = 1; x < 10; x++)
- 在 foreach 初始化语句中。
foreach (var item in list) {...}
- 在 using 域中。
using (var file = new StreamReader("C:\\demo.txt")) {...}
2、C#中变量的初始化
变量通过在等号后跟一个常量表达式进行初始化(赋值)。形式为:
<data_type> <variable_name> = value;
示例:
int a = 3, b = 5; /* 初始化 a 和 b. */ byte z = 22; /* 初始化 z. */ double pi = 3.14159; /* 声明 pi 的近似值 */ char x = 'x'; /* 变量 x 的值为 'x' */
二、常量
常量是不可变的值,在编译时是已知的,在程序的生命周期内不会改变。 常量使用 const 修饰符声明。仅 C# 内置类型(不包括 System.Object)可声明为 const。 用户定义的类型(包括类、结构和数组)不能为 const。
常量是使用 const 关键字来定义的 。定义一个常量的语法如下:
const <data_type> <constant_name> = value;
总结
以上对C#中的变量与常量进行了简单介绍,希望能对大家有所帮助,不足之处希望大家及时指出,也希望大家多提意见!