即使所有变量都是数组,我似乎也会收到错误,说明无法从字符串转换为字符串[]变量。
class Program
{
private static int[] testKey = { 10, 12, 15, 18, 2, 1, 200 };
private static string[] testVar1 = { "hello", "albert", "france", "john", "version", "zebra" };
private static string[] testVar2 = { "helllllllo", "jordan", "land", "Hobart", "Hogwarts", "hamburger", "Code" };
static void Main(string[] args)
{
for (int currentLineCount = 0; currentLineCount < 233; currentLineCount++)
{
OrderAZ(testKey[currentLineCount], testVar1[currentLineCount], testVar2[currentLineCount]);
}
//Argument 3: cannot convert from 'string' to 'string[]'
//Argument 2: cannot convert from 'string' to 'string[]'
//Argument 1: cannot convert from 'int' to 'int[]'
}
public static void OrderAZ(int[] sortKey, string[] sortVariableTwo, string[] sortVariableOne)
{
//sort method stub
}
}
答案 0 :(得分:1)
SELECT table2.columnname, table2.columnname from table1, table2 where table1.id = table2.id
是testKey
的数组,但int
是testKey[currentLineCount]
。 int
方法需要OrderAZ
,而不是int[]
(其他参数也是如此)。您需要传递一个数组,或者更改int
方法的签名以接受OrderAZ
(很难在不知道您的代码应该做什么的情况下判断)。
答案 1 :(得分:1)
如果要将字符串作为数组发送,可能需要使用字符串方法将其转换为字符串数组,如string.split(),字符串不是字符串数组,因为int不是int的数组,直到你以某种方式将它们转换为它。
在这种情况下,您发送数组的数据并且字符串数组的一个实际上是一个字符串,因此您的方法必须接收一个字符串,但如果您想发送整个数组,则删除整个括号部分在通话中,例如:
OrderAZ(testKey, testVar1, ...);
然后你可以保持你的方法不变。祝你好运!