我試圖創建一個基於另一個列表的列表。該列表看起來像 - {T1, T1, T2, T2, T3, T3}
但是整數可能會根據用戶輸入而改變。我試圖根據舊列表的索引爲新列表分配TimeSpan
值,整數將改變結果。例如,如果開始時是作爲11:00,以及由用戶給定的時間間隔爲5(分鐘),新名單應該像 - {11:00, 11:00, 11:05, 11:05, 11:10; 11:10}
TimeSpan由其他列表的結果計算的列表
這裏是我當前的功能:
public List<string> TimeGet(List<string> heatList, TimeSpan startTimeSpan, TimeSpan timeGap)
{
List<string> timeList = new List<string>();
string timeToAddString;
for (int i = 0; i < heatList.Count; i++)
{
if (heatList[i].Contains("1"))
{
TimeSpan timeToAdd = startTimeSpan;
timeToAddString = Convert.ToString(timeToAdd);
timeList.Add(timeToAddString);
}
else
{
string resultString = Regex.Match(heatList[i], @"\d+").Value;
int resultInt = Int32.Parse(resultString);
timeGap = TimeSpan.FromMinutes(timeGap.Minutes * resultInt);
TimeSpan timeToAdd = startTimeSpan + timeGap;
timeToAddString = Convert.ToString(timeToAdd);
timeList.Add(timeToAddString);
}
}
}
我希望新列表對應於清單上的值,具體取決於列表中每個字符串所基於的整數,並生成一個時間段或一天中的時間以與新清單中的對應。
使用TimeGet處理時間段解析和格式化是一個錯誤。移出去。通過TimeSpans並返回TimeSpans。有這個功能只能處理TimeSpans。所有這些格式化邏輯掩蓋了真正的邏輯。 – usr 2015-02-24 20:42:12