2011-09-15 87 views
0

我有一个函数使用2D锯齿阵列来保存SQL查询中的记录。如何返回锯齿阵列

如何正确返回锯齿阵列?

我想是这样的:

public string[][] GetResult() 
{ 
    return result; 
} 

而且在我的主要PROGRAMM:

string[][] test = new string[server1.GetResult().Length][]; 
test = server1.GetResult(); 

好,符合市场预期,但没有奏效。

我不知道如何解决我的问题。

+0

前提是正确的,所以还有其他事情正在发生 - 'string [] []'不是问题。请提供错误讯息? – Jon

+1

为'test'分配的FYI在声明中毫无意义,因为它被'Gronforum.GetResult'的调用覆盖。你到底有什么问题? –

+0

我会将我的函数中参差不齐的数组的内容返回给我的主程序。但是我的主程序中的数组是空的。 – hofmeister

回答

1

锯齿形数组只是数组的数组。

在您的代码:

string[][] test = new string[server1.GetResult().Length][]; 
test = Gronforum.GetResult(); 

您先指派新的数组test,然后与GetResult()返回值覆盖它。该代码不一样:

string[][] test = Gronforum.GetResult(); 

现在GetResult()应返回string[][] - 试试这个让与锯齿状阵列工作的感觉:

public string[][] GetResult() 
{ 
    string[][] result = new string[2][]; 
    result[0] = new string[] { "1", "2" }; 
    result[1] = new string[2]; 
    result[1][0] = "a"; 
    result[1][1] = "b"; 
    return result; 
} 

你可以提供一个参考的结果对该方法的SQL操作,以便它可以访问数据,将其“转换”为string[][]

+0

谢谢!我两次犯了同样的错误!我在洞时间覆盖阵列......它真的是空的。 Wit string [] [] test = server1.GetResult();它完美地工作。我测试了结果[1] [1] =“b”;她的函数返回值相应。多谢你们! – hofmeister