根据 the documentation for Int32.TryParse
,如果该方法返回 false,它会将 out 参数设置为零。我在 its documentation 中没有看到 Enum.TryParse 的类似保证。 .似乎应该有这样的保证,因为该方法必须将输出参数设置为某物,零最有意义。
是否在其他地方指定或记录了保证,或者真的没有保证?
最佳答案
我不希望它能保证比“某物”更具体。由于文档没有另外指定(并且它是唯一的官方文档),所以只使用返回值,但如果返回为 false,则忽略 out 参数。
旁注:我认为如果解析失败,Int32.TryParse 指定将 out 参数设置为什么是错误的,因为人们应该自己决定在每种特定情况下“不是真正的数字”意味着什么......但这是我的个人意见。
关于c# - 枚举.TryParse : Is there a guarantee or contract for the out parameter value when the return value is `false` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12357689/