无法从 'ListMapColor.MyContainer' 转换为 'System.Drawing.Color'
cannot convert from 'ListMapColor.MyContainer' to 'System.Drawing.Color'
我正在尝试使用哈希集添加列表。
我想做什么?我正在尝试映射 Haset Color 一些图像
为什么?因为我想实时比较哈希集列表颜色,我需要我自己的库来实时快速获取进程以比较图像
你在互联网上研究过吗?是的,但我没有找到关于使用 ADD 的哈希集颜色的信息。
我做了例子,请有人帮忙。
public class ListMapColor
{
public class MyContainer
{
public Color Number { get; set; }
public Color Name { get; set; }
public MyContainer(Color number, Color name)
{
Number = number;
Name = name;
}
}
public HashSet<Color> Battle(HashSet<Color> colors)
{
return colors.Add( new MyContainer (Color.FromArgb(255, 47, 47, 47), Color.FromName("ff2f2f2f") );
}
}
在发布的原始代码中,您有一个类型错误,这正是异常告诉您的内容。它需要一个 Color 对象,而您给它一个 MyContainer 对象,并且无法在两者之间进行转换。
我的评论建议将您的代码更改为以下内容:
public class ListMapColor
{
public class MyContainer
{
public Color Number { get; set; }
public Color Name { get; set; }
public MyContainer(Color number, Color name)
{
Number = number;
Name = name;
}
}
public HashSet<MyContainer> Battle(HashSet<MyContainer> colors)
{
return colors.Add( new MyContainer (Color.FromArgb(255, 47, 47, 47), Color.FromName("ff2f2f2f") );
}
}
这将修复类型错误。如果您想要 Color 对象的 HashSet,您需要添加 Color 对象,而不是 MyContainer 对象。
虽然我不确定你为什么要这样做。
看来您可能需要以下内容:
HashSet<Color> myColors = new HashSet<Color>();
myColors.Add(Color.FromArgb(255,47,47,47));
myColors.Add(Color.FromName("ff2f2f2f"));
myColors.Add(Color.FromName("AliceBlue"));
然后您可以访问您可能需要的所有颜色方法:
foreach(Color color in myColors)
{
Console.WriteLine(color.Name);
Console.WriteLine(color.IsKnownColor);
Console.WriteLine(color.ToArgb());
Console.WriteLine(color.IsNamedColor());
}
我正在尝试使用哈希集添加列表。
我想做什么?我正在尝试映射 Haset Color 一些图像
为什么?因为我想实时比较哈希集列表颜色,我需要我自己的库来实时快速获取进程以比较图像
你在互联网上研究过吗?是的,但我没有找到关于使用 ADD 的哈希集颜色的信息。
我做了例子,请有人帮忙。
public class ListMapColor
{
public class MyContainer
{
public Color Number { get; set; }
public Color Name { get; set; }
public MyContainer(Color number, Color name)
{
Number = number;
Name = name;
}
}
public HashSet<Color> Battle(HashSet<Color> colors)
{
return colors.Add( new MyContainer (Color.FromArgb(255, 47, 47, 47), Color.FromName("ff2f2f2f") );
}
}
在发布的原始代码中,您有一个类型错误,这正是异常告诉您的内容。它需要一个 Color 对象,而您给它一个 MyContainer 对象,并且无法在两者之间进行转换。
我的评论建议将您的代码更改为以下内容:
public class ListMapColor
{
public class MyContainer
{
public Color Number { get; set; }
public Color Name { get; set; }
public MyContainer(Color number, Color name)
{
Number = number;
Name = name;
}
}
public HashSet<MyContainer> Battle(HashSet<MyContainer> colors)
{
return colors.Add( new MyContainer (Color.FromArgb(255, 47, 47, 47), Color.FromName("ff2f2f2f") );
}
}
这将修复类型错误。如果您想要 Color 对象的 HashSet,您需要添加 Color 对象,而不是 MyContainer 对象。
虽然我不确定你为什么要这样做。
看来您可能需要以下内容:
HashSet<Color> myColors = new HashSet<Color>();
myColors.Add(Color.FromArgb(255,47,47,47));
myColors.Add(Color.FromName("ff2f2f2f"));
myColors.Add(Color.FromName("AliceBlue"));
然后您可以访问您可能需要的所有颜色方法:
foreach(Color color in myColors)
{
Console.WriteLine(color.Name);
Console.WriteLine(color.IsKnownColor);
Console.WriteLine(color.ToArgb());
Console.WriteLine(color.IsNamedColor());
}