解析在CSharp -如何理解它

本文关键字:何理解 CSharp | 更新日期: 2023-09-27 18:05:48

就在几天前,我开始学习c#,我已经有一个理解基础的问题。也许只是语言障碍(我的母语不是英语)。请你给我解释一下如何理解语法解析好吗?例如:在创建一个非常简单的计算器时,我想读取第一个输入数字(这是一个变量a)。我使用以下代码:

float a = float.Parse(Console.ReadLine());

,另一个数

b相同
float b = float.Parse(Console.ReadLine());  

我了解到float是小数的数据类型,那么这个特定的Parse()究竟代表什么?

显然,我试图运行应用程序没有解析,它不会工作,因为它读取它作为字符串,但为什么?谢谢你. .

解析在CSharp -如何理解它

Console.ReadLine()返回string,它表示一段文本。因此,从计算机的角度来看,调用Console.ReadLine()后得到的是一段文本。它可能包含也可能不包含文本"6.0",但从计算机的角度来看,它只是一段文本。因此,你不能用它来做加法、减法等。

使用float.Parse(...)方法,你告诉计算机:"这段文本实际上代表一个浮点数,你能读一下文本并给我一个数字,这样我就可以开始用它做数学了吗?"

您正在使用的方法,float.Parse()只是许多这样的方法之一,这些方法接受String输入值,并尝试将其转换为目标类型,这里是float

然而,有一个更安全的选择,它是TryParse():

float a;
if (float.TryParse(Console.ReadLine(), out a))
{
    //do something with your new float 'a'
}

无论哪种情况,您都要求框架检查您提供的值,并尝试将其转换为所请求的类型。

控制台。ReadLine读取用户输入的文本,并将其返回给程序,以便您可以对其执行所需的操作。因此,ReadLine方法返回一个字符串。

如果您想使用十进制(检查decimal类而不是float),则需要将字符串(它是一个字符序列)转换为所需类型的数字,这就是float所在的位置。解析进来:

浮动。Parse接受一个字符串,如果可能的话,返回一个浮点值。

几乎每种类型都包含Parse方法,该方法用于将字符串转换为调用字符串。