字节.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;
}
谢谢!!!
我假设您想在失败时将flag
设置为 2 TryParse
。
第一种方法是错误的。如果失败,它将用 0 覆盖您的值(因为这是 byte
类型的默认值(。您应该使用第二种解决方案。
显然它会接近#2。
原因是 #1 将用该类型的默认值覆盖变量的值(在本例中为 0(
>TryParse
将在您的示例中执行以下操作:
- 如果
strFlag
是有效的byte
,请对其进行解码并设置flag
。返回true
. - 否则,将
flag
设置为0
并返回false
。
请注意,这意味着flag
将始终由 TryParse
设置。
如果您希望flag
在默认情况下2
,则需要使用后面的语法。
第二个。
将out
参数传递给方法后,该方法可以对其执行任何操作。
2 种不同的东西
在后者中,您有一个区域:"如果它失败了,我该怎么办">
在前者中,您没有它。 - 它将用默认值覆盖该值。