如何在不为其声明单独变量的情况下将对象添加到Dictionary中?

时间:2012-08-21 06:59:30

标签: c# dictionary struct

我无法解决如何将项目添加到我在dictionary.Add参数中声明的字典中。

我有一个名为option的结构,带有2个字符串。

我在一个名为Contains的类中有一个字典。

我想完成

        option Change = new option("change","change");
        Contains.Add(contains.Count + 1, Change);

在同一条线上。这可能吗?

我试过

        Contains.Add(contains.Count + 1, option Change = new option("change","change"));

它不起作用。

我确信答案很简单,我在搜索30分钟后无法使用谷歌或本网站搞清楚。遗憾!

3 个答案:

答案 0 :(得分:4)

只需

Contains.Add(contains.Count + 1, new option("change","change"));

答案 1 :(得分:4)

你可以做任何一件事

Contains.Add(contains.Count + 1, new option("change", "change"));

option Change = new option("change", "change");
Contains.Add(contains.Count + 1, Change);

第一个代码块在现场创建option的新实例并将其添加到字典中。第二个代码块创建一个类型为option的新变量(对option实例的引用)并将其添加到字典中。你不能在调用Contains.Add方法中声明一个新变量,这是非法的。

PS:C#语言规范文档scopelocal variable declarationstatements。如果你想了解如何在C#中声明变量这些将是你最相关的主题(但可能有点难以从正式的C#语言规范中掌握,所以我建议你拿一本关于如何开始使用C#并寻找一些类似于MSDN的教程。

答案 2 :(得分:2)

您可以尝试以下操作:

Contains.Add(contains.Count + 1, new option("change", "change"));