gpt4 book ai didi

c# - C# 赋值变量时的异常处理

转载 作者:行者123 更新时间:2023-11-30 13:07:38 26 4
gpt4 key购买 nike

在处理一个项目时,我意识到对于 C# 有一些我真的不了解的东西(而且我在 google 上也找不到任何相关信息)。如果您将一个值赋给一个变量(已经用默认值初始化),并且该值是由另一个方法创建的,那么如果您在另一个方法中遇到异常会发生什么。为了清楚起见,这里有一个例子:

eType = defaultvalue;
...
eType = (EReaderType)Enum.Parse(typeof(EReaderType), tXmlNode.InnerText, true);

如果 Enum.Parse 无法解析值(Xml 中的字符串,此处不重要...)并抛出异常,会发生什么情况? eType 会保留其默认值,还是会被其他东西(null 或一些未定义的 blabla)重新分配?到目前为止,我的测试表明它将保留旧值。但是,我不确定这是否会一直有效,或者是否是偶然的。简单地说,我不知道 C# 是如何处理这些东西的。

编辑:好的,非常感谢所有的回答:)

最佳答案

如果您不确定解析是否会成功,请考虑使用 Enum.TryParse相反。

但在您的示例中,必须在赋值发生之前对右侧进行完整求值,因此处理右侧时出现异常将阻止赋值。

关于c# - C# 赋值变量时的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4818845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com