2011-09-15 119 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