Dar*_*w84 3 .net c# variables exception variable-assignment
在处理项目时,我意识到我真的不知道C#(我在谷歌上也找不到任何关于它的东西).如果为变量赋值(已使用默认值初始化),并且该值由另一个方法创建,则在另一个方法中获得异常会发生什么.为了澄清,这里有一个例子:
eType = defaultvalue;
...
eType = (EReaderType)Enum.Parse(typeof(EReaderType), tXmlNode.InnerText, true);
Run Code Online (Sandbox Code Playgroud)
如果Enum.Parse无法解析值(Xml中的字符串,这里不重要......)并抛出异常会发生什么?eType会保留其默认值,还是会被其他东西重新分配(null或某些未定义的blabla)?到目前为止,我的测试显示它将保留旧值.但是,我不确定这是否会一直有效,或者是不是偶然的.简单地说,我不知道C#如何处理这些东西.
编辑:好的,非常感谢所有答案:)
推理它的正确方法是:
假设你有:
M().x = N(P()).Q(); // x is a variable
Run Code Online (Sandbox Code Playgroud)
事情发生的顺序是:
如果其中一个引发异常,则永远不会执行异常后发生的所有事情.
| 归档时间: |
|
| 查看次数: |
1202 次 |
| 最近记录: |