C# 静态只读字典出错
我在编译这些代码行时出错:C# 静态只读字典出错,c#,dictionary,static,readonly,public,C#,Dictionary,Static,Readonly,Public,我在编译这些代码行时出错: using System.Collections.Generic; using System.Linq; using System.Web; namespace test { public class testing { public static readonly string IN_TABLE_KEY = "IN"; public static readonly string OUT_TABLE_KEY = "O
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace test
{
public class testing
{
public static readonly string IN_TABLE_KEY = "IN";
public static readonly string OUT_TABLE_KEY = "OUT";
public static readonly string TODAY_TABLE_KEY = "TODAY";
public static readonly Dictionary<string, string> TEST =
new Dictionary<string, string>()
{
{ IN_TABLE_KEY, "TEST1"},
{ OUT_TABLE_KEY, "TEST2"},
{ TODAY_TABLE_KEY, "TEST3"}
};
}
}
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
名称空间测试
{
公共类测试
{
_TABLE_KEY=“IN”中的公共静态只读字符串;
公共静态只读字符串输出\u TABLE\u KEY=“OUT”;
公共静态只读字符串TODAY\u TABLE\u KEY=“TODAY”;
公共静态只读字典测试=
新字典()
{
{IN_TABLE_KEY,“TEST1”},
{OUT_TABLE_KEY,“TEST2”},
{TODAY_TABLE_KEY,“TEST3”}
};
}
}
我真的不明白,这段代码就是无法编译,我不知道这个错误是关于语法还是代码中的其他地方
下面是我得到的语法错误:
);预期
类、结构或接口成员声明中的标记“{”无效
命名空间不直接包含字段或方法等成员
类型或命名空间定义,或应为文件结尾
谢谢。您似乎将声明放在了类声明之外 试试这个:
namespace MyNamespace
{
public class MyClass
{
public static readonly string IN_TABLE_KEY = "IN";
public static readonly string OUT_TABLE_KEY = "OUT";
public static readonly string TODAY_TABLE_KEY = "TODAY";
public static readonly Dictionary<string, string> TEST =
new Dictionary<string, string>()
{
{ IN_TABLE_KEY, "TEST1" },
{ OUT_TABLE_KEY, "TEST2" },
{ TODAY_TABLE_KEY, "TEST3" }
};
}
}
名称空间MyNamespace
{
公共类MyClass
{
_TABLE_KEY=“IN”中的公共静态只读字符串;
公共静态只读字符串输出\u TABLE\u KEY=“OUT”;
公共静态只读字符串TODAY\u TABLE\u KEY=“TODAY”;
公共静态只读字典测试=
新字典()
{
{IN_TABLE_KEY,“TEST1”},
{OUT_TABLE_KEY,“TEST2”},
{TODAY_TABLE_KEY,“TEST3”}
};
}
}
查看错误,您似乎忘记将其放置在类中,或者忘记了名称空间声明
在.NET中不能有全局字典,请尝试在类中而不是在任何方法中声明它,如下图所示
你不能有公共局部变量。那就是在方法代码中声明公共局部变量…听起来你在上面的某个地方遇到了令人振奋的问题。我觉得这段代码很好。在我看来,你使用的是旧版本的C#编译器,在语言中添加集合初始值设定项之前。我刚刚尝试过,它编译得很好。哪个fw a你在使用什么?到目前为止,我们还缺少一条重要的信息:你使用的是什么框架版本?.NET 2?.NET 1.1?.NET 3.5?嗯。实际上,不需要图像。问题中的==)更可能是框架混淆-使用不支持数组初始化的.NET框架版本。嗯,可能是…那可能是.NE我猜是T1.1。但这真的会触发错误消息吗?不确定。我没有那么旧的工作室可用。=)