gpt4 book ai didi

c# - 使用空分配修复 'Use of unassigned local variable'。为什么?

转载 作者:IT王子 更新时间:2023-10-29 04:10:36 28 4
gpt4 key购买 nike

对于这样一段代码,编译器会在 c.MyProperty 上报错:

MyClass c;

try { throw new Exception(); }
catch (Exception) { }

c.MyProperty = 2; // "Use of unassigned local variable 'c'".

然而,如果您在初始化时将 null 分配给 c,它不会报错:

MyClass c = null;

try { throw new Exception(); }
catch (Exception) { }

c.MyProperty = 2; // no complains this time.

那么,为什么会这样呢?如果 c 没有被分配一个 null 并且编译器假设允许它,那么不会在 c.MyProperty 处抛出相同的异常,< strong>对象引用未设置到对象的实例?

最佳答案

当您将 null 分配给变量时,您是在告诉编译器退出,因为您比他更了解,所以他不应该对此提示。

这可能是因为分配 null 被认为暗示了开发人员的明确操作。

关于c# - 使用空分配修复 'Use of unassigned local variable'。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6213113/

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