C# tryparse

154 阅读6分钟

在进行编程时,你可能已经在面向对象的编程语言中使用了许多类型的转换函数,将一种类型的变量转换为另一种,特别是在C++和Python中。C#编程从其 "System.IO "类中提出了 "TryParse "方法,将数字、字符、字符串和特殊字符的任何字符串表示转换为整数或字符类型。我们还将讨论哪些类型的字符串不能使用TryParse函数进行转换。那么,让我们从C#文件的创建开始。

例子#01。

让我们重新开始,使用C#中 "System.IO "类的TryParse函数将一种类型的值转换为另一种。所以,我们已经用C#"System "库的利用开始了我们的代码。之后,我们在这个C#代码中使用了 "System.IO "类来使用 "TryParse "函数。我们创建了一个简单的 "Test "类,其中包含一个函数,即C#的内置Main()函数。

这个Main()函数从其第一行定义的整数 "n "开始,而字符串 "s "已经被初始化为一个值 "14 "的字符串。虽然14是一个数字,但它也属于字符串的范畴。我们已经初始化了一个布尔变量 "z",它从 "IO "类的 "TryParse "函数中获取了解析的 "int "值。这个TryParse()函数使用其中的字符串 "s "将其解析为一个int值,并在参数中使用关键字 "out "将其解析为变量 "n"。

如果字符串 "s "被成功解析为 "int "类型的变量 "n",TryParse()函数将向布尔类型的变量 "z "返回 "True",否则返回 "false"。Console.WriteLine()函数语句被用来显示布尔型变量 "z "的值,以说明该字符串是否可以用数字表示。

保存我们的代码后,我们在Ubuntu 20.04的终端用C#的 "mcs "编译器编译了它。如果没有安装 "mcs "编译器,请先尝试安装它。这种编译将在你的 "cs "文件所在的同一位置生成一个新的 "exe "文件。为了执行你已经编译好的代码,你需要在 "mono "运行指令内的终端使用这个 "exe "文件。输出结果显示,字符串 "s "可以作为一个数字值来呈现。

例子#02。

在我们的第二个例子中,我们将研究如何使用TryParse函数来检查一个特定类型的变量值是否可以转换为字符,即任何字符、数字、特殊字符等。因此,我们从 "System "库和 "System.IO "库的使用开始这个例子。Test类有一个main()函数,定义了一个字符变量 "c "和布尔变量 "z"。

TryParse()函数被利用了4次,以检查 "M"、"&"、"145 "和 "r "值是否能被解析成字符。如果是,真值将被返回到变量 "z",否则为 "false"。在使用TryParse之后,Console.WriteLine()函数语句已经用于每个值,以显示变量 "z "的值。另一个Console.WriteLine()函数被用于每个值,将其转换为字符串并显示在shell中。现在,代码在此完成。

在用 "mcs "和 "mono "命令编译并在shell上运行这段代码后,我们对前两个值和最后一个值得到了True。而对于第三个值,它返回False,即Number不能被解析成字符类型。每个值的字符串转换也显示在我们的屏幕上,如下所示。

让我们更新同样的代码,使用其他的值来检查TryParse函数是否工作。这次我们在TryParse函数中使用了 "helloWorld"、""和""字符串类型,并将它们的布尔值结果保存在 "z "变量中。

在编译和运行上述更新的代码后,我们从代码中得到的第一个和第三个值是假的,而第二个值显示 "True "作为输出,即空格可以被解析为字符类型变量。而用特殊运算符连接的一个以上的字符的字符串不能被转换。因此,这些值也没有字符串表示。

例子#03。

让我们看看是否可以使用C#的TryParse函数将一个混合字符的字符串解析成一个整数变量。因此,我们使用相同的C#代码结构,用混合字符的值初始化一个字符串变量,即"$%^"。已经声明了一个整数类型 "n "和一个布尔类型 "z "的变量。之后利用tryParse函数将字符串值 "s "解析为整数变量 "n",并将返回的结果保存到 "z "变量中。

这里利用了 "if "语句来检查变量 "z "的值是否为真。如果是真的,你需要用Console.WriteLine()方法语句来显示TryParse函数刚刚解析出的 "n "变量的值。否则,Console.WriteLine()函数将显示该值没有被解析成使用变量字符串 "s "的整数。这段代码现在就可以使用了。

在对 "cs "和 "exe "文件进行编译和执行后,我们已经知道,在C#中,在TryParse函数的帮助下,字符串 "s "的值不能被解析成一个整数。

例子 # 04:

让我们来看看本教程的最后一个例子,利用C#的TryParse函数来检查字符串到其他类型的转换可能性。这一次,我们在C#代码中声明了一个字符串类型的数组 "Arr",并给它分配了8个不同的混合值。"foreach "循环已经被初始化,以便在变量 "v "中迭代这个字符串数组的值。

在每个迭代中,一个整数变量 "n "和布尔变量 "z "将被初始化,一个TryParse函数将被用来解析数组 "Arr "的当前索引 "v "值到整数变量 "n"。如果这个传递得到成功,Tryparse将返回 "True "到变量 "z",否则返回 "false"。如果 "z "的值为真,"if "语句将继续显示 "v "字符串的值已被解析或转换为整数 "n"。否则部分将显示该值未被转换为整数形式。

在这个代码完成后,我们编译并执行了它的 "exe "文件。它显示索引0、1、5、6、7的数值转换失败,而索引2、3、4的数值则转换成功。

总结。

本指南充满了利用C#的 "IO "类中的TryParse()函数的简单例子。我们讨论了使用TryParse()将数字、特殊字符和混合值的字符串转换为整数或字符类型。我们已经讨论了空字符或空格不能被转换为整数类型,而空格可以被转换为 "字符 "类型。简单地说,任何具有单一字符值的字符串都可以转换为字符类型,至于整数类型可以转换为 "int"。