C# 如何让我的程序从C中选择一种随机颜色,而不是一种设定的颜色?
所以我在做一个程序,它包括3种不同颜色的颜色值 我想让程序从所有3个形状的4个列表中选择一个随机颜色,而不是设置一个颜色。虽然我似乎不明白C# 如何让我的程序从C中选择一种随机颜色,而不是一种设定的颜色?,c#,random,colors,enumeration,C#,Random,Colors,Enumeration,所以我在做一个程序,它包括3种不同颜色的颜色值 我想让程序从所有3个形状的4个列表中选择一个随机颜色,而不是设置一个颜色。虽然我似乎不明白 enum color { Red, Green, Blue, Black } //abstract class "Shape" which has 3 methods pretaining to attributes of the shape. abstract class Shape { pu
enum color
{
Red,
Green,
Blue,
Black
}
//abstract class "Shape" which has 3 methods pretaining to attributes of the shape.
abstract class Shape
{
public abstract double getArea();
public abstract double getPerimeter();
public abstract color getColr();
}
//Triangle class which inherits the Shape methods
class Triangle : Shape
{
public double s1;
public double s2;
public double s3;
public color c = color.Red;
您可以让程序获得一个随机整数值,该数值将对应于您的一种颜色。 然后,只需从预先确定的颜色数组中获取颜色。记住在初始抽象类中将其设置为受保护的数组。 您可以从构造函数或受保护函数中的数组中获取颜色,这取决于您自己 颜色数组 从数组中获取随机颜色 到目前为止你试过什么 如果希望子类的颜色是随机的,可能不应该在这里指定它。当你调用构造器并分配s1、s2和s3时,你将要分配新的随机颜色 要从枚举中随机抽取,请执行以下操作:
Array colors = Enum.GetValues(typeof(color)); //enum naming should be capitalized
Random random = new Random();
Color randomColor = (Color)colors.GetValue(random.Next(colors.Length));
所以,您希望每次初始化一个形状时,它都有一种列出的颜色?
Random r = new Random();
int color_code = r.Next(0,3);
c = colors[color_code];
public color c = color.Red;
Array colors = Enum.GetValues(typeof(color)); //enum naming should be capitalized
Random random = new Random();
Color randomColor = (Color)colors.GetValue(random.Next(colors.Length));