C#入门系列(四)——变量与常量

C#入门系列目录

C#入门系列(一)——C#简介

C#入门系列(二)——第一个C#程序

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 (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#中的变量与常量进行了简单介绍,希望能对大家有所帮助,不足之处希望大家及时指出,也希望大家多提意见!

posted on 2020-03-16 16:05  C#小学生  阅读(470)  评论(0编辑  收藏  举报