C# 从0到实战 变量的定义与使用
变量的定义
变量本质是一种内存的占位符,使得我们可以轻松操作计算机。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;