2016-12-29 8 views
-1

私は、テキストファイルを解析し、解析結果に基づいて、約12の配列を定義して設定します。そして、メソッド外の配列にアクセスする必要があります。配列外部へのアクセス

今、1つの配列だったら、配列を返すだけです。しかし、それは12アレイです。

そして、配列外の配列を定義することはできません。テキストファイルを解析するメソッドを実行するまで寸法がわからないからです.Arrayの要素数を教えてくれます。

私が推測するすべての配列のうち、巨大なリスト<を返すことができましたが、それは信じられないほどクルージングに見えます。

誰でもこれを行う方法はありますか?

+8

を彼らは、配列「という名前の」されていますか?私。彼らは異なった内容と目的を持っていますか?もしそうなら、配列をメンバーとするクラスはどうですか?それらが配列の単なるリストであれば、それらをそのまま返します。 – Blorgbeard

+0

私はList にとどまります。またはより一般的なリスト Krzysztof

+2

12個の配列のリストを返すことはあまりありません。それは12の唯一のリストです。 –

答えて

3

あなたの質問に直接答えるには、正直言って、それは完全にうまくて悪くないようです。あなたのコメントで言ったように、ちょうどあなたのメソッドにこのようなことをさせてください。これは、すべての個人を集めるためにあなたが種類のループを使用する必要があり、その場合には13個の配列があるかもしれない明日以降のメンテナンスの観点から、かなり悪いようだ

public List<string[]> GetStuffFromTextFile(File file){ 
    // Use your favorite file reader to get an array. Some pseudo-code here. 
    // I don't know how you'll get the data. 
    string[] array1 = GetSomeDataFromFile1(file); 
    string[] array2 = GetSomeDataFromFile2(file); 
    string[] array3 = GetSomeDataFromFile3(file); 
    string[] array4 = GetSomeDataFromFile4(file); 
    string[] array5 = GetSomeDataFromFile5(file); 
    string[] array6 = GetSomeDataFromFile6(file); 
    string[] array7 = GetSomeDataFromFile7(file); 
    string[] array8 = GetSomeDataFromFile8(file); 
    string[] array9 = GetSomeDataFromFile9(file); 
    string[] array10 = GetSomeDataFromFile10(file); 
    string[] array11 = GetSomeDataFromFile11(file); 
    string[] array12 = GetSomeDataFromFile12(file);  

    return new List<string[]>{array1,array2,array3,array4,array5,array6,array7,array8,array9,array10,array11,array12} 
}; 

:私はあなたが12のstringの配列を持っていると仮定します配列を入れてList<string[]>に入れてください。

私の意見では、メソッドから返されたクラスを作成するだけです。クラスの外

そしてどこか、おそらくあなたの方法では、あなただけのこの操作を行います。

public FileData GetStuffFromTextFile(File file){ 
    FileData fileData = new FileData(); 
    fileData.array1 = GetSomeDataFromFile1(file); 
    \\ ... 
    return fileData; 
} 
+1

理想的には、array1-12よりも優れた名前です。 – BradleyDotNET

+0

@BradleyDotNETはまったくそうです。 OPからの文脈は全くありませんでした:P – coolboyjules

+0

ああ、今私はそれを持っています。ありがとう@coolboyjules –

関連する問題