变量的定义

变量本质是一种内存的占位符,使得我们可以轻松操作计算机。C#的变量声明格式是: 类型 名称 = 值;

 

1 //....
2 
3 int val = 0;  //定义并赋值
4 
5 Console.writeLine(val);

 

var关键字的使用

上面的类型简单的测试了变量的定义、赋值与使用。但有时,我们自己也不清楚用上面类型好,希望编译器为我们选择,那么就可以使用C#的 var 关键字。var关键很类似于C++中的 auto  关键字,主要提供一个类型推导的作用,也就是说,左边变量的类型取决于右边表达式的运算结果的类型。下面的例子就解释了这一方面。

//...
var val = 3.1415+6; //浮点型(double)
var str = "fang" + 5; //字符串型(String)

 

变量的默认值

对于所有的基本类型,C#都提供了默认值,我用一个表格来解释

类型 默认值
任何引用类型 null
任何内置整数数值类型 0(零)
任何内置浮点型数值类型 0(零)
bool false
char '\0' (U + 0000)
enum 表达式 (E)0 生成的值,其中 E 是枚举标识符。

对于其他非基本类型,C#也提供了相应的默认值。

struct 通过如下设置生成的值:将所有值类型的字段设置为其默认值,将所有引用类型的字段设置为 null
任何可以为 null 的值类型 HasValue 属性为 false 且 Value 属性未定义的实例。 该默认值也称为可以为 null 的值类型的“null” 值。

对于引用类型,除去 String 外,绝大部分都是 null 。

 当然,我们自己指定的变量值有时候不一定是用户需要的,所以变量的值最好是由用户来输入。 读取用户的输入,我们可以使用 ReadLine()读取用户的一行输入,由于这个方法返回的都是字符串,所以我们需要使用一个转换方法把它转换成自己需要的类型,比如用  Convert.ToInt32()  转为int类型

 

常量

既然有了变量,那为什么就没有常量呢?不是的,C#中的常量可以分成 字面量一般常量

字母量就是一个直接的值,它的意思就是它的值。而一般常量是 和声明普通变量一样,只不过需要多加一个const 用来修饰它,一旦赋值,就再也不能改变。它的格式如下:

const <data_type> <constant_name> = value;