2017-09-04 91 views
-5

我有幾個關於C#中數組的問題。我可以有一個返回數組值的方法嗎?

  1. 在一個方法中,我們可以有一個返回值。我們可以返回一個數組嗎?
  2. 如果返回一個數組是不可能的,我們如何使用該方法中收集的數組並在調用方法中使用?

以下是我的代碼。

public ArtWorkData[,] getExcelFile(int sheetNumber) 
    { 
     string[,] excRecord = new string[rowCount, colCount]; 
     excRecord[0, 0] = { {"TOPRIGHT", "TOPLEFT"}, 
          {"MIDRIGHT", "MIDLEFT}, 
          {"BOTRIGHT", "BOTLEFT"} } 

     return excRecord; 
    } 

我想知道它的邏輯以及如何將數組傳遞出方法。感謝你們。

+2

它的語言是什麼? –

+1

對不起,我寫在C# – NerdyLuke

+1

你的問題是,你聲明你正在返回一個'ArtWorkData [,]'的數組,然後你實際上嘗試並返回一個'字符串[,]'邁克爾, –

回答

0

數組是一個引用類型,因此您可以像引用類型一樣返回引用。數組也實現IEnumerable通用接口,所以如果它讓你感覺更好,也可以將其轉換爲該接口。

例如:

public int[] GetNumbers() 
{ 
    int[] numbers = new int[5]; 
    numbers[0]=34; 
    return numbers; 
} 

public void DoStuff() 
{ 
    IEnumerable<int> data = GetNumbers(); 
    ... 

} 

返回一個參照參考類型確實複製對象 - 其複製到它的參考。你返回數組引用的函數可以改變原數組的內容!

+0

羅伯特,謝謝你的提示。我注意到了我的錯誤。現在是複製數組。任何線索如何做到這一點? – NerdyLuke

+0

@NerdyLuke肯定,看看[這裏](https://stackoverflow.com/questions/14651899/create-a-copy-of-integer-array)。 –

+0

羅伯特,這真的很酷。我已經開始工作了。下一步是使用所有數組中的數據。需要一些計劃。如果我遇到更多問題,我會發布。隊友的歡呼聲。 – NerdyLuke

相關問題