2016-03-31 8 views
0

私は現在、80年以上の天気データを表示、検索、ソートするためのC#コンソールアプリケーションを構築しています。これを行うには、年、月、日、雨、空気霜、最大温度&のデータ(.txtファイルに格納されています)を格納する2次元配列を実装しています:複数のテキストファイルから2次元配列を初期化するC#

string[,] Ws1Data = new string[lineCount,7]{ 
      File.ReadAllLines(@"CMP1124M_Weather_Data\Year.txt"), 
      File.ReadAllLines(@"CMP1124M_Weather_Data\Month.txt"), 
      File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_Sun.txt"), 
      File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_Rain.txt"), 
      File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_AF.txt"), 
      File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_TMin.txt"), 
      File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_TMax.txt"), 
     }; 

私はコードをコンパイルするときしかし、私は、次のエラーを取得:

program.cs(66,35): error CS0150: A constant value is expected 
program.cs(67,5): error CS0846: A nested array initializer is expected 

誰かがこれらのエラーを説明していただけますとどのように私は、効率的に感謝をこの2次元配列の実装については行くだろう。

+0

[一定の値を配列を初期化する際に期待されている]の可能な重複(http://stackoverflow.com/questions/3594314/a-constant-value-is-expected-when-配列を初期化する) –

答えて

0

あなたは定数のみで2次元配列を初期化することができ、このように:

string[,] Ws1Data = new string[2, 7] 
{ 
    { "3", "7", "7", "7", "7", "7", "7" }, 
    { "3", "7", "7", "7", "7", "7", "7" }, 
}; 

私はあなたのケースでは、あなたがギザギザの配列を使用したほうが良いと思います。このようにそれを実行します。

string[][] Ws1Data = new [] 
{ 
    File.ReadAllLines(@"CMP1124M_Weather_Data\Year.txt"), 
    File.ReadAllLines(@"CMP1124M_Weather_Data\Month.txt"), 
    File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_Sun.txt"), 
    File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_Rain.txt"), 
    File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_AF.txt"), 
    File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_TMin.txt"), 
    File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_TMax.txt"), 
}; 
-1

多次元配列の最初の次元を固定する必要があると思います。 このような何かを試してみてください:

string[][] Ws1Data = new string[8][]; 

    Ws1Data[0] = File.ReadAllLines(@"CMP1124M_Weather_Data\Year.txt"); 

    Ws1Data[1] = File.ReadAllLines(@"CMP1124M_Weather_Data\Year.txt"); 

    Ws1Data[2] = File.ReadAllLines(@"CMP1124M_Weather_Data\Month.txt"); 

    Ws1Data[3] = File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_Sun.txt"); 

    Ws1Data[4] = File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_Rain.txt"); 

    Ws1Data[5] = File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_AF.txt"); 

    Ws1Data[6] = File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_TMin.txt"); 

    Ws1Data[7] = File.ReadAllLines(@"CMP1124M_Weather_Data\WS1_TMax.txt"); 
+0

投稿する前にこのコードをコンパイルしようとしましたか? – Enigmativity

+0

私の間違いを指摘してくれてありがとう。代わりにこれは機能しますか? (多次元ではなくギザギザの配列に変更しました) –

関連する問題