在過去的幾個小時中,我一直在困擾這個問題,我希望你能幫助我。將列表<T>的部分拆分爲2列表<T>和加入這些2
我有一個填充數據的列表(請參閱class:allItems),但我想拆分數據,因此類項目將其所有項與持有子項的項列表中的公共列表保持在一起。
在這段代碼中會發生什麼:在for循環中,項目被添加了與天列表相同的值,這就是我試圖將正確數量的條目添加到天列表中的位置,在allStats列表中顯示同一周的數字。
任何幫助,將不勝感激,謝謝。
public class allItems
{
public DateTime PunchInDate { get; set; }
public DateTime PunchOutDate { get; set; }
public DayOfWeek DayOfWeek { get; set; }
public int WeekNumber { get; set; }
public int MonthNumber { get; set; }
public bool PunchedInLate { get; set; }
public bool PunchedOutLate { get; set; }
}
public class items
{
public int WeekNumber { get; set; }
public int MonthNumber { get; set; }
public List<subItems> Days { get; set; }
}
public class subItems
{
public bool PunchedInLate { get; set; }
public bool PunchedOutLate { get; set; }
public DateTime PunchInDate { get; set; }
public DateTime PunchOutDate { get; set; }
public DayOfWeek DayOfWeek { get; set; }
}
protected int getNumberOfWeeks(List<allItems> list, int numberToFind)
{
List<allItems> results = list.FindAll(
delegate(allItems ai)
{
return ai.WeekNumber == numberToFind;
}
);
return results.Count;
}
public List<items> getStats(string userId, string type)
{
List<allItems> allStats = getAllStats(userId, "week");
List<items> stats = new List<items>();
foreach (allItems allItem in allStats)
{
items item = new items();
subItems subItem = new subItems();
List<subItems> Days = new List<subItems>();
item.MonthNumber = allItem.MonthNumber;
item.WeekNumber = allItem.WeekNumber;
item.Days = Days;
int numberOfWeeks = getNumberOfWeeks(allStats, allItem.WeekNumber);
for (int i = 0; i < numberOfWeeks; i++)
{
subItem.DayOfWeek = allItem.DayOfWeek;
subItem.PunchedInLate = allItem.PunchedInLate;
subItem.PunchedOutLate = allItem.PunchedOutLate;
subItem.punchInDate = allItem.PunchInDate;
subItem.PunchOutDate = allItem.PunchOutDate;
Days.Add(subItem);
}
items result = stats.Find(week => week.WeekNumber == allItem.WeekNumber);
if (result == null)
{
stats.Add(item);
}
}
return stats;
}
請使用'C#'命名約定。屬性名稱應該是'ProperCased'(I.E'PunchInDate'而不是'punchInDate')。你的代碼看起來像java,這會傷害我的眼睛(和胃) – 2013-03-07 15:31:23
請記住這一點以備將來參考,謝謝。 – mackwerk 2013-03-07 15:38:45
@highcore我們需要在某個時間喝點飲料;我有一種感覺,我們要麼相處得很好,要麼進入戰鬥。 :) – JerKimball 2013-03-07 15:39:48