Asp.net 适当的数据结构?
我有一个卡片类-每张卡片是四种颜色中的一种。每种颜色都有与之相关的有趣数据,比如十六进制和数字表示。我本来打算使用枚举,但我不知道如何包含这两个属性Asp.net 适当的数据结构?,asp.net,data-structures,enums,Asp.net,Data Structures,Enums,我有一个卡片类-每张卡片是四种颜色中的一种。每种颜色都有与之相关的有趣数据,比如十六进制和数字表示。我本来打算使用枚举,但我不知道如何包含这两个属性 我希望能够通过Colors.Red.Hex或Colors.Red.Id引用Colors.Red和Colors.Blue等颜色,以及每个颜色后面的数据。这里合适的数据结构是什么 所有这些东西都是内置的: // using System.Drawing; Color MyColor = Color.Red; int Value = MyColor.
我希望能够通过Colors.Red.Hex或Colors.Red.Id引用Colors.Red和Colors.Blue等颜色,以及每个颜色后面的数据。这里合适的数据结构是什么 所有这些东西都是内置的:
// using System.Drawing;
Color MyColor = Color.Red;
int Value = MyColor.ToArgb();
byte R = MyColor.R;
byte G = MyColor.G;
有一个名为Color的类,其属性名为Hex和Id。然后有返回所需静态颜色的静态属性:(这是C#)
如果您不想创建自定义颜色,请将颜色构造函数设置为私有。谢谢Steve。这是为了简单起见-我实际上不是在处理颜色。我处理的牌的状态从1到10,每个状态都有一些属性。@Robbouse状态属性是否已修复?或者它们可以变化吗?谢谢洛克斯托克。如何从这些get语句中定义十六进制和Id?假设我想为整个解决方案创建Red/1/DD0000,您会怎么做?这叫什么?我们是在类中实例化新对象吗?这里有什么特别的术语我可以阅读吗?请看我的最新答案。我不确定这种模式的名称,如果你有私人承包商,我想它叫做工厂模式
public class Color
{
public string Hex { get; private set; }
public int Id { get; private set; }
public static Color Red
{
get
{
return new Color
{
Hex = "DD0000",
Id = 1
};
}
}
public static Color Blue
{
get
{
return new Color
{
Hex = "hex for blue",
Id = 2
};
}
}
}