2017-09-04 13 views
-5

C#の配列に関する質問があります。配列値を返すメソッドを使用できますか?

  1. メソッドでは、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 [、]'の配列を返すと宣言してから、実際に 'string [、]'を返そうとしています。 –

答えて

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

@Nerdy確かに、[こちら](https://stackoverflow.com/questions/14651899/create-a-copy-of-integer-array)をご覧ください。 –

+0

ロバート、本当にクールです。私はすでに働くようになった。次のステップは、すべての配列のデータを使用することです。いくつかの計画が必要でした。私はより多くの問題に直面した場合、投稿します。歓声メイト。 – NerdyLuke

関連する問題