一、整型数字计算
如果我们想执行以下程序:程序提示用户输入一个数字并输出 num + 20
的结果,我们的思维应该是这样的:
using System;public class Class1
{public static void Main(string[] args){Console.WriteLine("Enter the first number:"); //提示用户输入数字num = Console.ReadLine(); //读取数字Console.WriteLine(num + 20); //输出数字num + 20Console.ReadKey();}
}
我们会收到以下报错:
1、CS0103: The name 'num' does not exist in the current context. 这是因为 num
变量没有声明。Console.ReadLine()
返回的是字符串类型,需要先声明一个变量来存储输入的值。
2、CS0019: Operator '+' cannot be applied to operands of type 'string' and 'int'. 这是因为Console.ReadLine()
返回的是字符串类型,而 20
是整数类型。你不能直接将字符串和整数相加,需要先将字符串转换为整数。
所以,既然我们想要的是整型数字相加的结果,那么我们首先可以:
1、声明一个变量存储输入的字符串;
2、将用户输入的字符串转换为整数;
3、将整数 + 20 并输出。代码如下:
using System;namespace ConsoleApp1
{internal class Program{static void Main(string[] args){Console.WriteLine("Enter the first number:");string str = Console.ReadLine(); // 读取用户输入的字符串int num = int.Parse(str); // 将用户输入的字符串转换为整数int ret = num + 20;Console.WriteLine(ret);Console.ReadKey();}}
}
我们可以尝试输入20,程序会顺利的输出40。但是这里我们还需补充一个函数知识:Parse()
二、Parse()
函数
1、Parse()
的主要作用是将字符串解析为指定的数据类型,常见的有:int.Parse()
、double.Parse()
、DateTime.Parse(),
分别对应整数、浮点数、日期等数据类型的转换。
2、Parse()
要求输入的字符串必须完全符合目标数据类型的格式,否则会抛出异常。例如,int.Parse("abc")
会抛出 FormatException
,因为 "abc"
不是有效的整数。
3、如果输入的字符串无法解析为目标类型,Parse()
会抛出异常。常见的异常包括:
FormatException
:字符串格式不正确。
ArgumentNullException
:输入的字符串为 null
。
OverflowException
:字符串表示的数值超出目标类型的范围(例如,int.Parse("99999999999999999999")
)。
4、TryParse()
是 Parse()
的安全版本,它不会抛出异常,而是返回一个布尔值表示解析是否成功。如果解析成功,结果会存储在输出参数中。如果输入可能无效,建议使用 TryParse()
,因为它更安全且不会抛出异常。
三、字符串拼接
如果我们在原有函数基础上不想进行整型数字的计算了,而是就像让它完成字符串的拼接,我们要怎么做呢?
首先,因为无需整型,所以我们不需要 int() 函数定义我们输入的字符串,但是数字 20 是整型,这个时候我们必须将 20 转换为字符串,也就是说,我们最终的结果应该为“你输入的字符串20”,那我们C#在整型转换成字符串也有类似Parse()
的函数,ToString()。
using System;namespace Text2
{internal class Program{static void Main(string[] args){Console.WriteLine("Enter the first number:");string str = Console.ReadLine(); // 读取用户输入的字符串string num = str + 20.ToString(); // 将用户输入的字符串与字符串 "20" 进行拼接Console.WriteLine(num); //输出拼接后的字符串Console.ReadKey();}}
}
经过调整以后,我们输入20,可以得到程序输出 2020,说明我们的字符串拼接成功。