我想创建一个包含对象的数组/集合。我希望能够使用键值访问数组/集合中的对象。我在想访问对象的语法是这样的:
ObjectArray[52].Color = "Blue"
ObjectArray[52].Height = 12.2
If(ObjectArray[52].Color == "Blue")
{
// Code for Blue
}
If(ObjectArray[52].Height < 13.0)
{
// Code for height less than 13.
}
class ObjectInArray
{
public string Color;
public double Height;
}
在这种情况下,“ 52”是键值,而不是数组中的位置。颜色和蓝色是对象中的属性。我不知道如何创建一个数组/集合来做到这一点(如果可以做到的话)。任何帮助或可选建议如何执行此操作将不胜感激。
最佳答案
您不需要数组,而是想要一种可以将一种类型的键与另一种类型的值关联的东西。 .Net中的此类集合称为Dictionary<TKey, TValue>
,专门针对您的案例Dictionary<int, ObjectInArray>
。
例:
Dictionary<int, ObjectInArray> ObjectArray = new Dictionary<int, ObjectInArray>();
ObjectArray[52] = new ObjectInArray();
ObjectArray[52].Color = "Blue"
ObjectArray[52].Height = 12.2
if (ObjectArray[52].Color == "Blue")
{
// Code for Blue
}
if (ObjectArray[52].Height < 13.0)
{
// Code for height less than 13.
}