C#真理的双重来源(字典和价值项目)

C#真理的双重来源(字典和价值项目),c#,dictionary,collections,C#,Dictionary,Collections,我想知道,在一个简单的系统中,例如,您有一个字典,其中值的类中也需要键,是否有任何方法可以防止这种设计模式,或者我们必须继续使用这种设计模式 下面的示例将更容易理解: 字典区域=新字典() 你能告诉我你对这件事的看法吗?这是我自己的错误吗?我应该记录下自己的一些特别的事情吗 谢谢。您的意思是为字典使用类a键吗?不完全是,默认情况下是这样的。我希望变量“position”只存在一次。在这个例子中,它是在字典中设置的,但也在对象区域中设置的(所以它是在double、Value和Key中设置的),我得

我想知道,在一个简单的系统中,例如,您有一个字典,其中值的类中也需要键,是否有任何方法可以防止这种设计模式,或者我们必须继续使用这种设计模式

下面的示例将更容易理解:

字典区域=新字典()

你能告诉我你对这件事的看法吗?这是我自己的错误吗?我应该记录下自己的一些特别的事情吗


谢谢。

您的意思是为字典使用类a键吗?不完全是,默认情况下是这样的。我希望变量“position”只存在一次。在这个例子中,它是在字典中设置的,但也在对象区域中设置的(所以它是在double、Value和Key中设置的),我得到的结果是,字典和Value实例都包含Key。通常这不应该是个问题,你只需要在两个地方维护它。否则,您正在寻找更好的数据表示方式。@Sinatr好的,这不是大问题,没有解决办法。我只是想确定一下,你能告诉我你为什么要实现这个目标吗,我是说有什么特别的原因吗?你的意思是为字典使用类a键吗?不太可能,默认情况下是这样的。我希望变量“position”只存在一次。在这个例子中,它是在字典中设置的,但也在对象区域中设置的(所以它是在double、Value和Key中设置的),我得到的结果是,字典和Value实例都包含Key。通常这不应该是个问题,你只需要在两个地方维护它。否则,您正在寻找更好的数据表示方式。@Sinatr好的,这不是大问题,没有解决办法。我只是想确定一下,你能告诉我你为什么要达到这个目标吗,我是说,有什么特别的原因吗?
class Region {

    private Vector2 position; // #This is the exact same value as the Key in the dictionary.

    public Region(Vector2 position) {
        this.position = position;
    }
}
var examplePos = new Vector2(0, 0);
regions.Add(examplePos, new Region(examplePos));