C# “C”;一个期望的常量值;莫名其妙的错误
我使用VisualStudio2008对一个C#项目进行了一些更改。当我试图编译时,我得到一个即时错误“CS0150-需要一个常量值”。然而,编译器没有告诉我这个错误应该发生在哪里,既没有代码行,也没有*.cs文件。输出如下所示:C# “C”;一个期望的常量值;莫名其妙的错误,c#,visual-studio-2008,C#,Visual Studio 2008,我使用VisualStudio2008对一个C#项目进行了一些更改。当我试图编译时,我得到一个即时错误“CS0150-需要一个常量值”。然而,编译器没有告诉我这个错误应该发生在哪里,既没有代码行,也没有*.cs文件。输出如下所示: ------ Build started: Project: MyProgram, Configuration: Release Any CPU ------ error CS0150: A constant value is expected 这个错误是从哪里来的
------ Build started: Project: MyProgram, Configuration: Release Any CPU ------
error CS0150: A constant value is expected
这个错误是从哪里来的?如何消除它?我确信我没有像MSDN建议的那样更改任何“开关”语句。我还尝试将该项目升级到VisualStudio2010,但没有效果 以下伪代码导致此错误:
private static int NumEntries = 2;
private string[] Strings = new String[NumEntries] {"123", "abc"};
由于某种原因,编译器没有告诉我错误发生在哪里,所以我不得不搜索整个项目 你改变了什么,你能分享吗?如果它以前工作过,但现在不工作,很可能是在这些更改中。您的代码中是否有
switch
语句?看看案例标签,答案应该在那里。还要检查您是否为属性指定了非常量值。属性值也需要为常量。我改变了很多事情(很明显),但它们都与switch语句无关。我预计会有一些错误,但没有一个错误没有提示到哪里去寻找。我确实为属性指定了一个非常量值,这是一个很好的提示。