gpt4 book ai didi

c# - 分配给 X 的表达式必须是常量

转载 作者:行者123 更新时间:2023-11-30 13:58:46 25 4
gpt4 key购买 nike

我遇到了这个问题并正在寻找解决方案,但没有找到与我类似的情况。这是我所拥有的:

在类文件 X.cs 中:

namespace BlaBla{

public class X{
public const string foo = "foo";
// other code
}

public class Y{
public const int bar = 0;
}
}

在其他一些类(class)中,我正在写:

private const string someString = X.foo + Y.bar + "";

它一直给我一个编译错误:

分配给 someString 的 Expression 必须是常量

虽然它们都是不变的!当我删除 Y.bar 时,错误被删除,我不知道为什么。有什么帮助吗?

最佳答案

您错误地使用了 const 关键字。您可能希望将 someString 定义为:

private readonly someString = X.foo + Y.bar;

当变量被标记为 const 时,它们会被编译到程序集中,然后进行优化。虽然 Y.bar 被定义为 const,但您隐式调用了它的 ToString() 方法,这使得它不是常量。

关于c# - 分配给 X 的表达式必须是常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15474457/

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