避免在finally撰写无效代码:

先提出一个问题,即:是否存在一种打破try- finally执行顺序的情况。答案是:没有 (除非应用程序本身因为某些很少出现的特殊情况在try块中退出)。你应该始终认为finally内代码会在方法return之前被执行,哪怕return是在try块中。但需要区分引用类型变量和值类型变量在 finally中会导致不同结果

返回的将是1。代码中,i=2实际上是一段无效代 码 ,如果编译采用Release模式,编译器会直接将i=2删除,它不会为其生成对应的IL代码。但是:

TestUserReturnInTry方法返回的User中,Name的值已经改变为Rose了。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2022-02-21
  • 2021-12-26
  • 2021-09-01
  • 2021-05-28
猜你喜欢
  • 2022-01-08
  • 2022-12-23
  • 2022-01-01
  • 2021-06-18
  • 2021-06-26
  • 2022-01-12
  • 2021-08-05
相关资源
相似解决方案