小编Dum*_*tte的帖子

字典与对象作为价值

我在这里疯了.这可能是因为我错过了一些规则,但如果是这样,那么请告诉我.

我正在尝试创建一个Dictionary带键的字符串和一个匿名对象作为值.或者,实际上我不只是尝试,我正在做.但是当我想改变对象中的特定参数时,它就出错了.

我像这样声明字典:

var areas = new Dictionary<string, object>
{
  {"Key1", new {name = "Name1", today = 0, all = 0}},
  {"Key2", new {name = "Name2", today = 0, all = 0}},
    ...
}
Run Code Online (Sandbox Code Playgroud)

然后我假设我可以这样做:

foreach (var area in areas.Keys.ToArray())
{
    var areaname = areas[area].name;
}
Run Code Online (Sandbox Code Playgroud)

但Visual Studio不同意,并拒绝编译.但是,如果我写这篇文章,一切都按照我的想法运作 - 但这并没有真正帮助我,这只会让我更加沮丧.

var areaname = new 
            {
                 name = "Nametest", today = 0, all = 0
            };
var testname = areaname.name;
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?为什么它不适合我?这样做根本不可能吗?

谢谢你的所有答案,他们肯定清理了一下!我想我可能一直在混淆类型对象对象的想法,即C#中的类,而不是挫折.我将重新思考整个设计业务,并可能做一些完全不同的事情,而不是使用邪恶或肮脏的解决方案.虽然有趣,但我认为我与C#的关系还没有发展到那么远!

c# dictionary object

15
推荐指数
4
解决办法
7万
查看次数

标签 统计

c# ×1

dictionary ×1

object ×1