C# 如何从数组中访问颜色

C# 如何从数组中访问颜色,c#,asp.net,arrays,colors,C#,Asp.net,Arrays,Colors,我试图访问数组中列出的颜色,但不确定如何访问,我在谷歌上搜索过,但没有帮助查找内容 protected void DropDownList7_SelectedIndexChanged(object sender, EventArgs e) { string[] color=new string[] {"Azure","BlanchedAlmond","Black","Beige","DarkGreen","DarkKhaki","DarkOrange"} f

我试图访问数组中列出的颜色,但不确定如何访问,我在谷歌上搜索过,但没有帮助查找内容

protected void DropDownList7_SelectedIndexChanged(object sender, EventArgs e)
    {
       string[] color=new string[] {"Azure","BlanchedAlmond","Black","Beige","DarkGreen","DarkKhaki","DarkOrange"}
        for(int i=0 ;i<color.Length;i++)
        {
            if(DropDownList7.SelectedIndex==i)
                Label11.ForeColor=Color.?;
        }
    }
protectedvoid DropDownList7\u SelectedIndexChanged(对象发送方,事件参数e)
{
string[]color=新字符串[]{“Azure”、“BlanchedAlmond”、“Black”、“米色”、“暗绿色”、“暗哈基”、“暗科朗日”}
对于(inti=0;iTry


如果您只是想要与所选下拉列表相对应的偏移量。

将颜色存储为
颜色
对象,则可以轻松访问它,否则可能需要使用方法

protectedvoid DropDownList7\u SelectedIndexChanged(对象发送方,事件参数e)
{
Color[]colors=新颜色[]{Color.Azure,Color.BlanchedAlmond,…};
对于(int i=0;i
就你而言

var color = Color.FromName(color[DropDownList7.SelectedIndex]);

使用下面的方法
FromName

Label11.ForeColor=Color.FromName(color[i]);

但是,我建议将颜色存储在
System.Drawing.Color
数组中,而不是神奇的字符串。或者从我这里存储它们的十六进制表示形式,如“#000000”

+1,这是最好的解决方案:不要使用字符串如果您发现错误,您没有使用我的代码,请仔细检查我的代码。我正在使用
Color[]颜色
not
string[]颜色
,也不要编辑答案的错误,只需在下面进行注释。考虑到这是在这种情况下正确设置颜色的有效方法,请在向下投票时进行注释。-1原因很简单。这行代码永远不会编译,因为
color
是字符串数组和
ForeColor
属性erty是一个
struct
…结构和字符串之间没有隐式转换。至少在.NET Framework中没有
if(DropDownList7.SelectedIndex >=0 == DropDownList7.SelectedIndex < colors.Length)
    Label11.ForeColor=colors[DropDownList7.SelectedIndex];
var color = Color.FromName("Gold");
var color = Color.FromName(color[DropDownList7.SelectedIndex]);
Label11.ForeColor=Color.FromName(color[i]);