【发布时间】:2011-06-16 16:08:37
【问题描述】:
在从事一个项目时,我意识到我对 C# 确实不了解(而且我在 google 上也找不到任何相关信息)。如果你给一个变量赋值(它已经用默认值初始化了),并且这个值是由另一个方法创建的,如果你在另一个方法中得到一个异常会发生什么。为了澄清,这里举个例子:
eType = defaultvalue;
...
eType = (EReaderType)Enum.Parse(typeof(EReaderType), tXmlNode.InnerText, true);
如果 Enum.Parse 无法解析值(Xml 中的字符串,此处不重要...)并抛出异常,会发生什么? eType 会保持其默认值,还是会被其他东西重新分配(null 或一些未定义的 blabla)?到目前为止,我的测试表明它将保持旧值。但是,我不确定这是否会一直有效,或者是否是偶然的。简单地说,我不知道 C# 是如何处理这些东西的。
编辑:好的,非常感谢所有答案:)
【问题讨论】:
标签: c# .net exception variables variable-assignment