变量
变量 是计算机内存中的一个单元格,它有一个名称并存储一些对应于类型 .

“变”字告诉我们它的值可以在程序执行期间改变。  当一个新的变量值被保存时,旧的值被擦除。


对于计算机来说,所有信息都是它内存中的数据——零和一的集合(简单地说,计算机中的任何信息都只是数字,它以相同的方式处理它们)。但是,我们知道整数和小数的工作方式不同。因此,每种编程语言都有不同类型的数据,使用不同的方法进行处理。

例如,
- 整数 变量 –类型 int (来自英文integer – whole),占用内存4个字节;
- real 可以有小数部分的变量(type float –来自英文floating point –floating point)占用内存4个字节;
- characters (type char –来自英文字符–符号),占用内存1个字节。

让我们尝试向我们的程序中添加一些变量。
在使用一个变量之前,你需要告诉计算机在内存中为它分配空间。为此,您需要声明一个变量,即指定它将存储什么类型的值,并为其命名。
此外,如果需要,您可以为其分配初始值。 

我们以一个程序为例: <前> 使用系统; 类程序{    静态无效主要()     {        整数 a = 6, b; //声明了两个整数类型的变量,在变量a中立即保存了值6。   // 变量 b 没有被初始化; // 在这种情况下内存中会有什么,我们不知道。     } } 如果计算机不能在其内存中存储各种信息并能够使用相同的算法处理相同类型的信息,那么就不需要计算机了。 
为了创建更有趣的程序,必须学习如何将信息存储在计算机的内存中。同时,我们需要学习如何以某种方式访问​​计算机的存储单元。 
在编程中,就像在生活中一样,为了引用计算机内存的任何部分,它都是通过名称出现的。使用此名称,您既可以读取信息,也可以将信息写入其中。

例子
让我们试着写一个素数计算器。

我们的任务是在屏幕上显示一些算术表达式并让计算机计算它。
例如: 
5+7=12
此外,可以有不同的数字代替 5 和 7,具体取决于程序中变量 ab 的值。

在输出语句中,您不仅可以显示文本,还可以显示变量的值,以及算术表达式的结果。此外,输出顺序可能不同。例如,为了显示上面的表达式,需要这样写: <前> Console.WriteLine(a + "+" + b + "=" + (a+b)); 如果我们想显示一个变量的值,那么我们只需要指定它的名字而不用引号。如果我们要显示一个算术表达式的结果,那么只要正确地写出算术表达式就足够了。请注意: 
变量和文本由“+”运算符分隔,文本用引号括起来,变量不用引号。
 

输入语句
为了让用户能够自己设置变量的值,需要能够从键盘输入值。 
C#有两个值输入运算符: Console.Read(); 和 Console.ReadLine();
 
Read 只从输入的值中读取一个字符,如果没有更多的字符可供读取,则为-1。而且该方法返回的是整数字符编码,所以要得到一个字符变量,需要使用 Convert.ToChar()进行转换。
  <前> int x = Console.Read(); //读取字符代码 char a = Convert.ToChar(x); // 将接收到的代码转换为字符变量的值  
使用 ReadLine() ,您可以在输入新行之前读取字符串序列。因此,如果没有更多字符串,该方法可能会返回一个字符串或 null

例如,该条目读取以下行: <前> stringline = Console.ReadLine();
要读取整数值,需要读取字符串并将其转换为数字:
  <前> int a = int.Parse(Console.ReadLine());  
如果数字排成一行,那么您需要计算该行, 并使用空格字符作为分隔符从中获取一个字符串数组。然后将数组的每个元素转换为数字: <前> string[] numbers = Console.ReadLine().Split(' '); int a = int Parse(数字[0]); int b = int.Parse(numbers[1]);

输出说明符
要输出实际值,只需调用Console.Write 或 Console.WriteLine:
方法   双 a = 0.9999; 控制台.Write(a);  
但有时您需要预先格式化值的输出,使用 String.Format 方法可以方便地完成此操作,更多详细信息 此处
具有一定精度的输出
为了格式化小数,使用了 f 说明符,后面的数字表示分隔符后有多少个字符。 双 a = 12.123; Console.WriteLine(String.Format("{0:f2}", a)); 结果将为 12,12,但如果您使用值 0.9999,则会发生不受控制的舍入并且   1.00

因此,下面的算法用于丢弃符号而不是四舍五入:
1) 将原值乘以10,乘以多少次需要保留小数位;
2) 使用   Math.Truncate 方法,我们只保留整数部分;
3) 将结果值除以10, 次数不限,保留小数位。

具有两位小数精度的输出示例:  <分区> 双 a = 0.9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2);
 
输出结果时的分隔符类型(点或逗号)取决于计算机的区域设置,因此要始终使用句点作为分隔符,需要将区域设置更改为 invariant,结果示例:
  <分区> CultureInfo ci = new CultureInfo(""); 双 a = 0.9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2); Console.WriteLine(a.ToString(ci));