我终于让我所有的解析工作有了一个例外。
以下代码完全可以正常工作
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个索引,可以通过另一个类的索引号进行调用。
我一直在想办法解决这个问题。
有任何想法吗?
我相信你想要这样的东西吗?
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);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句