字节.TryParse() 哪种方法更好

本文关键字:方法 更好 TryParse 字节 | 更新日期: 2023-09-27 18:18:43

我只需要建议以确保哪种方法更好

1(

byte flag = 2; 
byte.TryParse(strFlag, out flag);

2(

byte flag; 
if (!byte.TryParse(strFlag, out flag)) 
{ 
    flag = 2; 
}

谢谢!!!

字节.TryParse() 哪种方法更好

我假设您想在失败时将flag设置为 2 TryParse

第一种方法是错误的。如果失败,它将用 0 覆盖您的值(因为这是 byte 类型的默认值(。您应该使用第二种解决方案。

显然它会接近#2。

原因是 #1 将用该类型的默认值覆盖变量的值(在本例中为 0(

>TryParse将在您的示例中执行以下操作:

  • 如果strFlag是有效的byte,请对其进行解码并设置flag。返回true .
  • 否则,将flag设置为 0 并返回false

请注意,这意味着flag将始终TryParse 设置。

如果您希望flag在默认情况下2,则需要使用后面的语法。

第二个。

out参数传递给方法后,该方法可以对其执行任何操作。

2 种不同的东西

在后者中,您有一个区域:"如果它失败了,我该怎么办">

在前者中,您没有它。 - 它将用默认值覆盖该值。