Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#如何为每件物品从一个循环中获得不同的颜色?_C# - Fatal编程技术网

C#如何为每件物品从一个循环中获得不同的颜色?

C#如何为每件物品从一个循环中获得不同的颜色?,c#,C#,我有超过10个项目想用钢笔画椭圆在我的图形 问题是我如何做一个循环,使每个项目得到不同的颜色 graphics.DrawEllipse(new Pen(Color.Maroon, 2f), x, y, 2, 2); 使用字符串显示每种颜色的颜色类,我想要如下内容: String colorName; for(int i=0, i<ItemsLength; i++) { colorName = getColorNmae(data[i]); } graphics.DrawEll

我有超过10个项目想用钢笔画椭圆在我的图形

问题是我如何做一个循环,使每个项目得到不同的颜色

 graphics.DrawEllipse(new Pen(Color.Maroon, 2f), x, y, 2, 2);
使用字符串显示每种颜色的颜色类,我想要如下内容:

String colorName;

for(int i=0, i<ItemsLength; i++)
{
    colorName = getColorNmae(data[i]);
}

graphics.DrawEllipse(new Pen(colorName, 2f), x, y, 2, 2);
字符串颜色名称;

对于(int i=0,i首先,创建颜色列表,例如:

var colors = new List<Color>
{
    Color.Red,
    Color.Blue,
    ...
    Color.Maroon
}

任何随机颜色?此代码是否编译?创建所需颜色的集合。循环使用所述集合。是的..但我希望每个项目都有自己的颜色,没有重复..因此不要在集合中放置重复的颜色。创建10种颜色的集合并循环使用,每个颜色只分配一次。为了使其更灵活:
颜色[i%colors.Count]
@CSharpie,这太尴尬了,我没有想到!非常好的建议。相应地更新答案。
for(var i = 0, i < ItemsLength; i++)
{
    var x = derive x from items[i]
    var y = derive y from items[i]
    graphics.DrawEllipse(new Pen(colors[i % colors.Count], 2f), x, y, 2, 2);
}