2017-01-26 9 views
-1

私は最終的にすべての解析を1つの例外を除いて行いました。C#データを配列に渡す

次のコードは、まさにそれが

べき
public void GetCurrentSchedule() 
    { 


     String JSONstring = File.ReadAllText("\\USER\\Schedule\\Schedule.txt"); 
     RootObject p1 = JsonConvert.DeserializeObject<RootObject>(JSONstring); 


     for (int a = i; a <= (i + 3); a++) 
     { 
      sDay = p1.schedulePeriods[a].day; 
      sPeriod = p1.schedulePeriods[a].periodType; 
      sStart = p1.schedulePeriods[a].startTime; 
      sCancel= p1.schedulePeriods[a].isCancelled; 
      sHeat = p1.schedulePeriods[a].heatSetpoint; 
      sCool = p1.schedulePeriods[a].coolSetpoint; 
      sFan = p1.schedulePeriods[a].fanMode; 

      Console.PrintLine("day: {0}", sDay); 
      Console.PrintLine("period: {0}", sPeriod); 
      Console.PrintLine("start: {0}", sStart); 
      Console.PrintLine("Cancel: {0}", sCancel); 
      Console.PrintLine("Heat: {0}", sHeat); 
      Console.PrintLine("Cool: {0}", sCool); 
      Console.PrintLine("Fan: {0}", sFan); 
     } 

    } 

として働くには、しかし、私が何をしたいか、インデックス番号で、後に呼ばれるように配列に各パスを割り当てることです。例えば

sDay = p1.schedulePeriods[a].day; 

私は別のクラスからのインデックス番号で呼び出すことができますsDayの4つの指標を持っていると思います。

私はこの仕事をしようと壁に頭を打っている。

アイデア?

+1

これは2017です。これ以上アレイを使用しないでください。 –

+0

これはどのように行いますか? –

+0

これは単純な宣言と配列で、 – progrAmmar

答えて

1

私はこのようなことが欲しいと思いますか?あなたはおそらくあまりにも、クリーンなOOPスタイルにそれを変更したいと思う別のクラスから正しい日

を取得する

public void GetCurrentSchedule() 
{ 


    String JSONstring = File.ReadAllText("\\USER\\Schedule\\Schedule.txt"); 
    RootObject p1 = JsonConvert.DeserializeObject<RootObject>(JSONstring); 
    string[] sDay = new string[i + 4];//Declare your array here (+4 becuase your for loop goes upto +3) 

    for (int a = i; a <= (i + 3); a++) 
    { 
     sDay[a - i] = p1.schedulePeriods[a].day; // assign the value to array element (a - i because if i > 0 because arrays start with 0) 
     sPeriod = p1.schedulePeriods[a].periodType; 
     sStart = p1.schedulePeriods[a].startTime; 
     sCancel= p1.schedulePeriods[a].isCancelled; 
     sHeat = p1.schedulePeriods[a].heatSetpoint; 
     sCool = p1.schedulePeriods[a].coolSetpoint; 
     sFan = p1.schedulePeriods[a].fanMode; 

     Console.PrintLine("day: {0}", sDay[a - i]); // Call it with index 
     Console.PrintLine("period: {0}", sPeriod); 
     Console.PrintLine("start: {0}", sStart); 
     Console.PrintLine("Cancel: {0}", sCancel); 
     Console.PrintLine("Heat: {0}", sHeat); 
     Console.PrintLine("Cool: {0}", sCool); 
     Console.PrintLine("Fan: {0}", sFan); 
    } 

} 
1
public List<string> SDays = new List<string>(); // or whatever type  


     // inside method 
     String JSONstring = File.ReadAllText("\\USER\\Schedule\\Schedule.txt"); 
     RootObject p1 = JsonConvert.DeserializeObject<RootObject>(JSONstring); 

     for (int a = i; a <= (i + 3); a++) 
     { 
      SDays.Add(p1.schedulePeriods[a].day); 
      //and so on 
     } 

コールSDays[index]

関連する問題