C# 这个字典初始值设定项有什么问题
我可能完全失明了,但我看不出这段代码有什么问题:C# 这个字典初始值设定项有什么问题,c#,c#-6.0,C#,C# 6.0,我可能完全失明了,但我看不出这段代码有什么问题: public static Dictionary<States, string> NameMap = new Dictionary<States, string> { [States.State1] = "State1", [States.State2] = "State2", [States.State3] = "State3", [States.State4] = "State4",
public static Dictionary<States, string> NameMap = new Dictionary<States, string>
{
[States.State1] = "State1",
[States.State2] = "State2",
[States.State3] = "State3",
[States.State4] = "State4",
[States.State5] = "State5",
[States.State6] = "State6"
};
(该点位于每条线上的第一个括号处)
及
这指向*列:
[States*.State1]* = "State1",
任何帮助都将不胜感激。在via.Add中ploping这些值可以正常工作
States是一个Enum顺便说一句。问题是由于Resharper简单地假设我正在使用C#6编译器并相应地“更正”我的代码而导致的。经检查,我没有使用C#6,而Resharper幸运的是我没有删除它问题是由Resharper简单地假设我在使用C#6编译器并相应地“更正”我的代码引起的。经检查,我没有使用C#6,Resharper很幸运我没有删除它您的语法是正确的强> 您可以在此处进行测试: 这称为索引初始值设定项 对象和集合初始值设定项对于声明式 初始化对象的字段和属性,或提供集合 元素的初始集合。初始化字典和其他 带有索引器的对象不那么优雅。我们正在添加一个新的语法到 对象初始值设定项,允许您通过任何 新对象具有的索引器
var numbers=新字典{
[7] =“七”,
[9] =“九”,
[13] =“十三”
};
来源:您的语法是正确的强> 您可以在此处进行测试: 这称为索引初始值设定项 对象和集合初始值设定项对于声明式 初始化对象的字段和属性,或提供集合 元素的初始集合。初始化字典和其他 带有索引器的对象不那么优雅。我们正在添加一个新的语法到 对象初始化器,允许您通过任意键将值设置为键 新对象具有的索引器
var numbers=新字典{
[7] =“七”,
[9] =“九”,
[13] =“十三”
};
来源:可能这是在某个CSHTML或ASPX文件中?您确定使用的是C#6吗?错误表明您试图使用旧的C#编译器编译此代码。我自己尝试了您的代码,它编译起来没有任何问题。检查您的csproj和目标框架。@Glitcher让我猜猜:您输入了一个老式的初始值设定项,然后ReSharper建议重构?这就是我学习这种新语法的方式:-)也许这是在一些CSHTML或ASPX文件中?你确定你使用的是C#6吗?错误表明你试图用旧的C#编译器编译它。我自己尝试了你的代码,它编译起来没有任何问题。检查您的csproj和目标框架。@Glitcher让我猜猜:您输入了一个老式的初始值设定项,然后ReSharper建议重构?这就是我学习这种新语法的方式:-)您可以通过在项目属性中指示“C语言级别”来提示Resharper关于C版本的信息。您可以通过在项目属性中指示“C语言级别”来提示Resharper关于C版本的信息。
Syntax error, ',' expected
[States*.State1]* = "State1",
var numbers = new Dictionary<int, string> {
[7] = "seven",
[9] = "nine",
[13] = "thirteen"
};