gpt4 book ai didi

c# - 为什么 const mytype _var = new mytype() 不起作用?

转载 作者:太空狗 更新时间:2023-10-29 23:59:06 26 4
gpt4 key购买 nike

我很好奇地寻找为什么在 C#.NET 设计器中不允许使用以下代码的解释:

const foo f = new foo();

它给出了以下错误信息:

'f' is of type 'ConsoleApplication1.foo'. A const field of a reference type other than string can only be initialized with null.

问题是:为什么?有人可以解释这个 const 要求吗?

提前致谢。

最佳答案

因为 const 必须是可以在编译时 解析的东西。

new foo(); 将在运行时 执行。

您可能想使用 readonly 关键字来确保它不能在构造函数之外初始化:

private readonly foo f = new foo();

关于c# - 为什么 const mytype _var = new mytype() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11524395/

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