2017-01-26 168 views
-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

我相信你想這樣的事情?

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]得到正確的日期從另一個類

你可能會想將它更改爲一個更清潔OOP的風格,太。