我得到这个错误“无法将'Data'类型的对象强制转换为'System.IConvertible' . ”在我的代码中
foreach (Data p in clusters[i])
{
for(int z=0; z<53;z++)
{
if (values[z] = Convert.ToInt32(p))
{
lray[z].BackColor = colorSet[i];
}
}
}
“values”是一个整数数组,p来自Data类
class Data
{
public int X, ClusterId;
public Data(int x)
{
this.X = x;
}
public override string ToString()
{
return String.Format("({0})", X);
}
public static int DistanceSquared(Data p1, Data p2)
{
int diffX = p2.X - p1.X;
return diffX * diffX;
}
}
3 回答
您的意图不清楚您的代码 .
p
在Data
的对象中 . 似乎您想要访问您在p的成员X中保存的数据但是你可以这样做
只是错误说的是什么 . 您必须在Data类中实现IConvertible,才能像这样使用它 .
IConvertible Interface
你
Data
类显然没有实现System.IConvertible
. 因此,您可以这样做,也可以执行其他检查 .旁注:
=
是作业,你的意思是if (values[z] == ...)