找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2288|回复: 12

C#变量的定义和使用

 火.. [复制链接]
  • 打卡等级:常驻代表
  • 打卡总天数:34
  • 打卡月天数:6
  • 打卡总奖励:9027
  • 最近打卡:2025-12-17 23:15:51

2823

主题

541

回帖

2万

积分

管理员

积分
22569
发表于 2021-5-10 20:04:47 | 显示全部楼层 |阅读模式
变量(Variable)C# 编程中不可缺失的内容,使用变量可以更容易地完成程序的编写。

变量可以理解为存放数据的容器,并且在将值存放到变量中时还要为变量指定数据类型。

变量和常量是相对的:变量是指所存放的值是允许改变的,而常量表示存入的值不允许改变。

本节我们先讲解 C# 变量的定义和使用,下节《C#常量》再继续讲解常量。
C#变量的定义在定义变量时,首先要确认在变量中存放的值的数据类型,然后再确定变量的内容,最后根据 C# 变量命名规则定义好变量名。

定义变量的语法如下。
数据类型  变量名;
例如定义一个存放整数的变量,可以定义成:
int num;
在定义变量后如何为变量赋值呢?很简单,直接使用=来连接要在变量中存放的值即可。C#变量的赋值赋值的语法有两种方式,一种是在定义变量的同时直接赋值,一种是先定义变量然后再赋值,它们的格式如下。

在定义变量的同时赋值:
数据类型  变量名 = 值;
先定义变量然后再赋值:
数据类型  变量名;
变量名 = 值;
在定义变量时需要注意变量中的值要与变量的数据类型相兼容。另外,在为变量赋值时也可以一次为多个变量赋值。例如:
  • int a = 1, b = 2;


虽然一次为多个变量赋值方便了很多,但在实际编程中为了增强程序的可读性,建议读者在编程中每次声明一个变量并为一个变量赋值。C#变量使用举例【实例1】分别定义整型、浮点型、布尔型以及字符串类型的变量并赋值,最后将变量值输出。
  • class Program
  • {
  •     static void Main(string[] args)
  •     {
  •         int num1 = 100;
  •         double num2 = 100.123;
  •         bool isFlag = true;
  •         String name = "Hello";
  •         Console.WriteLine("num1= "+ num1);
  •         Console.WriteLine("num2=" + num2);
  •         Console.WriteLine("isFlag=" + isFlag);
  •         Console.WriteLine("name=" + name);
  •     }
  • }


执行上面代码,效果如下图。



【实例 2】定义两个变量来存放值,然后将其中的大数加 10 后输出。

根据题目要求,在前面的实例中已经使用三元运算符完成了具体值的判断,下面使用定义变量的方式来实现。代码如下。
  • class Program
  • {
  •     static void Main(string[] args)
  •     {
  •         int a = 10;
  •         int b = 20;
  •         Console.WriteLine("将a与b中较大的数加10后结果为:"+(a > b ? a + 10 : b + 10));
  •     }
  • }


执行上面的代码,效果如下图。



从上面的执行效果可以看出,由于 b 大于 a,原来 b 的值为 20,再加 10,则结果为 30。

【实例 3】定义两个变量,并将两个变量的值交换后输出。

根据题目要求,由于要交换两个变量中存放的值,最简单的方法是定义一个中间变量来存放交换的值,就像交换两个容器中存放的水需要借着第 3 个容器才能完成。代码如下。
  • class Program
  • {
  •     static void Main(string[] args)
  •     {
  •         int a = 100;
  •         int b = 200;
  •         Console.WriteLine("交换前:");
  •         Console.WriteLine("a=" + a + ";b=" + b);
  •         int temp;
  •         temp = a;
  •         a = b;
  •         b = temp;
  •         Console.WriteLine("交换后:");
  •         Console.WriteLine("a=" + a + ";b=" + b);
  •     }
  • }


执行上面的代码,效果如下图。



除了使用中间变量完成两个变量的值的交换以外,这里提供两种常用的方式供读者参考。

第 1 种方式是通过“加和再减”的方式实现,代码如下。
纯文本复制
  • class Program
  • {
  •     static void Main(string[] args)
  •     {
  •         int a = 100;
  •         int b = 200;
  •         a = a + b;
  •         b = a - b;
  •         a = a - b;
  •         Console.WriteLine("交换后的值:");
  •         Console.WriteLine("a=" + a + ";b=" + b);
  •     }
  • }


执行上面的代码,即可完成与使用中间变量交换值同样的效果。

第 2 种方式则是使用位运算实现。在位运算符中选择的是异或运算符,异或运算是将计算的值转换成二进制,然后两个值之间的比较原则是相同为 0、不同为 1,因此经过一次异或操作会将数据的某些位翻转,但是同一个数如果用 2 次异或操作则数值保持不变。代 码如下。
  • class Program
  • {
  •     static void Main(string[] args)
  •     {
  •         int a = 100;
  •         int b = 200;
  •         a = a ^ b;
  •         b = a ^ b;
  •         a = a ^ b;
  •         Console.WriteLine("交换后的值:");
  •         Console.WriteLine("a=" + a + ";b=" + b);
  •     }
  • }


执行上面的代码,交换的效果也是一样的。有兴趣的读者可以将 100 和 200 转换成二进制的值进行相应的计算,再查看效果。
工控课堂 www.gkket.com

0

主题

531

回帖

2056

积分

高级会员

积分
2056
发表于 2021-5-10 20:04:49 | 显示全部楼层
楼主您的技术水准,我最服你,其他都是浮云
工控课堂 www.gkket.com

11

主题

435

回帖

2643

积分

高级会员

积分
2643
发表于 2021-5-12 00:36:16 | 显示全部楼层
论坛有你更精彩!
工控课堂 www.gkket.com

0

主题

76

回帖

104

积分

新手上路

积分
104
发表于 2025-11-14 13:14:18 | 显示全部楼层
哈哈哈哈笑不活,楼主这脑洞绝了!
工控课堂 www.gkket.com

0

主题

90

回帖

137

积分

新手上路

积分
137
发表于 2025-11-14 13:28:00 | 显示全部楼层
蹲个后续,楼主记得更新呀,在线等挺急的~
工控课堂 www.gkket.com

0

主题

78

回帖

114

积分

新手上路

积分
114
发表于 2025-11-14 14:24:03 | 显示全部楼层
谁懂啊!这内容我能循环看十遍
工控课堂 www.gkket.com

0

主题

113

回帖

408

积分

注册会员

积分
408
发表于 2025-11-14 14:33:25 | 显示全部楼层
这波反向操作,我属实没想到!
工控课堂 www.gkket.com

0

主题

118

回帖

196

积分

新手上路

积分
196
发表于 2025-11-14 14:35:14 | 显示全部楼层
画面感太强了,仿佛身临其境!
工控课堂 www.gkket.com

0

主题

81

回帖

247

积分

注册会员

积分
247
发表于 2025-11-14 14:38:25 | 显示全部楼层
占个楼慢慢看,先马克一下
楼主辛苦啦,期待下一篇分享
工控课堂 www.gkket.com

0

主题

105

回帖

165

积分

新手上路

积分
165
发表于 2025-11-14 14:38:49 | 显示全部楼层
原来还有这种操作,长见识了!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-23 07:37 , Processed in 0.096433 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表