我有兩個陣列,ARRAY1具有由從上午08點分鐘日期時間數據計數至下午和數組2具有從同一日期上午08點到下午1點由小時日期時間數據計數。C#日期時間陣列
欲輸出的兩個陣列,其具有相同的datetime.hour索引號。並且它應該爲array1之後的所有日期時間數據匹配array2的最後一個可用索引號。
例如,如果我有兩個日期時間陣列是這樣的:
DateTime[] dateTimes1 = new DateTime[]
{
new DateTime(2010, 10, 1, 8, 15, 0),
new DateTime(2010, 10, 1, 8, 30, 1),
new DateTime(2010, 10, 1, 8, 45, 2),
new DateTime(2010, 10, 1, 9, 15, 3),
new DateTime(2010, 10, 1, 9, 30, 4),
new DateTime(2010, 10, 1, 9, 45, 5),
new DateTime(2010, 10, 1, 10, 15, 6),
new DateTime(2010, 10, 1, 10, 30, 7),
new DateTime(2010, 10, 1, 10, 45, 8),
new DateTime(2010, 10, 1, 11, 15, 9),
new DateTime(2010, 10, 1, 11, 30, 10),
new DateTime(2010, 10, 1, 11, 45, 11),
new DateTime(2010, 10, 1, 12, 15, 12),
new DateTime(2010, 10, 1, 12, 30, 13),
new DateTime(2010, 10, 1, 12, 45, 14),
new DateTime(2010, 10, 1, 13, 15, 15),
new DateTime(2010, 10, 1, 13, 30, 16),
new DateTime(2010, 10, 1, 13, 45, 17),
new DateTime(2010, 10, 1, 14, 15, 18),
new DateTime(2010, 10, 1, 14, 30, 19),
new DateTime(2010, 10, 1, 14, 45, 20),
};
DateTime[] dateTimes2 = new DateTime[]
{
new DateTime(2010, 10, 1, 8, 0, 0),
new DateTime(2010, 10, 1, 9, 0, 1),
new DateTime(2010, 10, 1, 10, 0, 2),
new DateTime(2010, 10, 1, 11, 0, 3),
new DateTime(2010, 10, 1, 12, 0, 4),
new DateTime(2010, 10, 1, 13, 0, 5),
};
它應該讓我的輸出:
0,0
1,0
2,0
3, 1
4,1 1
5,1
6,2
7,2
8,2
9,3
10,3
11,3
12,4
13,4
14,4
15,5
16,5
17,5
18,5
19,5
20,5
這是我已經嘗試過:
int i = 0;
int j = 0;
while (i < dateTimes1.Length && j < dateTimes2.Length)
{
if (dateTimes1[i].Date == dateTimes2[j].Date && dateTimes1[i].Hour == dateTimes2[j].Hour)
{
list.Add(i);
list2.Add(j);
i++;
}
else if (dateTimes1[i] < dateTimes2[j])
{
i++;
}
else if (dateTimes1[i] > dateTimes2[j])
{
j++;
}
}
for (int k = 0; k < list.Count; k++)
{
Console.WriteLine(list[k] + " , " + list2[k];
}
但它不會在下午1點後輸出索引編號。
尼斯初學者練習。你嘗試了什麼?或者你認爲我們是「免費編寫我的代碼」服務?我們通常希望人們有基於代碼的編程問題。他們沒有把作業放在我們身上,所以他們從不學習編程。 – TomTom
你有試過什麼嗎?循環會很簡單,但效率不高 - 嘗試一下,看看你能不能;稍後再提出一個更有效的方法。 –
「datetime data count」和「array2的最後一個可用計數器」的含義並不完全清楚。數組中的元素不是計數器,它們只是'DateTime'值。請澄清。如果你使用'DateTime'的Second部分作爲計數器,我強烈建議你現在就停止這樣做。 –