c#入门-变量

类型

c#中的类型指代一种种类的数据。他们负责这种数据的处理,修改,储存。

同样的信息可以用不同类型储存,比如QQ号可以用数字储存,也可以用文字储存。
区别在于,数字可以处理加减乘除和比大小。
而文字可以裁剪,比如获得前三位,后四位QQ号。

而通常我们不会对QQ号进行加减乘除,而且更可能会要对他进行裁剪。
所以用文字储存QQ号更合适。

再例如,c#中有路径类。
他专门处理文件路径形式的文字,可以一键从这串文字中,获取文件的扩展名,父目录,根目录。
文字类也可以做到,但不是一键获取,而要麻烦的多。
而路径类对其他类型的文字几乎没有处理能力。

变量

变量可以储存一个值。通常用于表示一个未知的值。
例如用户在登录时输入的用户名和密码,我们肯定要用他的密码和我们的数据做比较。
但是编写程序的时候,我还不知道他会输入什么内容,不知道用什么文字来比较我们的数据。
所以需要变量,储存他输入的内容。
所有对变量做的事,也就是对他输入内容做的事。

定义变量

定义变量的方式是先写一个类型,然后给他起个名字。
例如:

string s;

定义变量会在内存为他申请一片空间,执行了操作,所以可以独立成句。
string就是我之前所说的文本类型,在c#里面的类型名字。
变量的类型一经定义就是确定的,不能更改。

在一个语句里可以同时定义多个变量,使用逗号隔开。

string s1,s2,s3;

赋值

变量赋值的语句是在变量后加等于号,然后把你要的值写上去。

s = "hello world";

在进行赋值时,值的类型需要能转化为变量的类型

在声明变量时可以同时进行赋值操作。

string s4="hello";

变量只有在第一次定义的时候要带上类型。之后的修改不能加类型。

string s5="666";
s5="777";
s5="888";

使用

变量是值的容器,把变量放到写值都地方,就会解析这个变量装的值。
变量是程序指令的一部分,不要给变量打引号。

Console.WriteLine(s);

变量在赋值前不能被使用。而声明变量和赋值的顺序和你写的顺序是一样的。
就是说,上面的例子s3可以使用s1作为初始值(如果s1给了初始值的话)。
但s1不能用s3作为初始值。因为那时候s3不存在。

变量只储存值,不储存操作

变量是值的容器,用变量先把值装起来再访问变量,和直接访问值的效果是一样的。
例如:

string s = Console.ReadLine();
Console.WriteLine("你输入了" + s);

//上述等效于

Console.WriteLine("你输入了" + Console.ReadLine());

但是如果使用多次的话,情况就不一样了。

string s = Console.ReadLine();
Console.WriteLine("你输入了"+s);
Console.WriteLine("你输入了"+s);



Console.WriteLine("你输入了" + Console.ReadLine());
Console.WriteLine("你输入了" + Console.ReadLine());

Console.ReadLine会先①暂停程序,然后②允许用户输入文字直到按下回车,最后③获取用户输入的文字。
这个过程中,Console.ReadLine获取到的值是过程③中得到的值。赋值给变量也只是这个值而已。
并不会连着①和②都给变量。

所以下面的代码,会暂停程序两次,并且两次的结果可能是不一样的。
而上面的代码输入完一次后,会立刻出现两次的结果,而且一定是一样的。

标识符

变量的名字这个可以随便起的,我们称为标识符。
不止变量可以随便起名字,后面还有其他东西可以随便起名字。这些都叫标识符。

标识符名称限制

1.不能以数字开头
2.不能有特殊符号
3.不能和有效范围内的标识符重名
4.不能和关键字重复。

关键字

什么叫关键字呢?在你玩游戏时,进入设置里改键,有些键是不能设置成功的。
比如esc键。你按下他时,会执行他的作用:取消操作。而不是执行接受这个键,取消操作的优先级更高。

在c#里,这种优先级极高的命令就叫关键字。
string就是一个关键字。因为这个类型太重要了,所以给他做了一个关键字来表示这个类型。

类型名字是标识类型的作用,变量名字是标识变量的作用。
变量名可以和类型名重名,甚至跟他自己的类型重名。

关键字标识符

有时候你会接收其他程序发来的数据。然后别人的变量名字恰好在c#里是关键字。
这时候可以在关键字前面加@符号来变成标识符。这个符号本身不会被计入标识符中。

基本类型

这种类型在c#里的特征是,他们的类型都有对应的关键字,例如string类。
还有你使用的时候,会感觉他们不能再分。
例如时间类,可以细分为年,月,日,时,分,秒。
但是文字类,数字类这种东西,已经非常基本了,没法再分了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值