2016-03-31 7 views
0

Şu anda 80 yıldır hava durumu verilerini görüntülemek, aramak ve sıralamak için bir C# konsolu uygulaması yapıyorum. Bunu yapmak için, yılların, ayların, güneşin, yağmurun, hava donunun ve max & dk sıcaklıklarının (.txt dosyalarında saklanan) verilerini içerecek şekilde 2d dizisini uygularım, örneğin:Birden çok metin dosyasından 2d dizisini başlat 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"), 
     }; 
Ben kod derleme

Ancak, aşağıdaki hataları alıyorum:

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

birisi bu hataları lütfen açıklayabilir ve ben, verimli sayesinde bu 2d dizi uygulama hakkında gitmek nasıl.

+0

[bir katsayı değeri bir diziyi başlatmak alınması bekleniyor] Olası yinelenen (http://stackoverflow.com/questions/3594314/a-constant-value-is-expected-when- initialize-an-array) –

cevap

0

Yalnızca bu gibi sabitleri ile 2 boyutlu dizi sunabilmesi:

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

Sana pürüzlü diziler kullanarak daha iyi sizin durumda düşünüyorum. Bu şekilde yapın:

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

Çok boyutlu dizinin ilk boyutunun sabit olması gerektiğini düşünüyorum. Böyle bir şey deneyin :

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

Göndermeden önce bu kodu derlediniz mi? – Enigmativity

+0

Hata yaptığım için teşekkürler. Bu yerine çalışır mı? (Çok boyutlu değil, pürüzlü diziye dönüştüm) –