排列例程中的错误
本文关键字:错误 例程 排列 | 更新日期: 2023-09-27 17:56:17
我有一个简单的对象类,叫做ColorString。
我正在尝试设置一个递归排列例程来处理我的类的锯齿数组。
static ColourString[][] perm2(int a, ColourString[][] x)
{
ColourString[][] retval = new ColourString[0][];
foreach (ColourString[] p in x[a])
{
foreach (ColourString[] p2 in perm2(a + 1, x))
{
// do some stuff here to compare the strings in the colourString[] objects
}
}
return retval;
}
我的代码给了我以下错误:
错误 1 无法将类型"Test.Form1.ColorString"转换为 'Test.Form1.ColorString[]'.
请问我做错了什么?
x[a]
是一个ColourString[]
,所以foreach
中的p
应该是ColourString
而不是ColourString[]
。
其他评论已经确定了问题所在,但请允许我具体说明一下......
根据您的函数原型,x 是 ColorString[][]
的类型因此 x[a] 是 ColorString[]
的类型您的外部循环尝试迭代属于 ColorString[] 类型的可枚举对象 ColorString[] 类型的对象,这是不可能的。 x[a] 的元素是 ColorString,而不是 ColorString[]。