在下面的代码中,为什么Value以“ i = 2”而不是2出现。
var dictionary = new Dictionary<string, List<object>>();
for (int i = 1; i <= 2; i++)
{
if (dictionary.Keys.Contains("Key1"))
{
dictionary["Key1"].Add(new { i });
}
else
{
dictionary.Add("Key1", new List<object> { i});
}
}
答案 0 :(得分:3)
您的代码有很多问题。首先,是您看到的“奇怪”输出。您的new { i }
使用值为i
的属性2
创建了一个新的匿名类型(从变量名推断出属性名的i
。它等于{{ 1}})。
我建议使用:
new { i = i }