編輯:我意識到我一直在徹底改變它,經過一次徹底的改革,讓它工作。感謝提示傢伙,我會牢記他們的未來。從c中的循環返回每個值#
我在程序中遇到了一個不尋常的問題。我需要做的是找出兩次之間的差異,將其除以1.5小時,然後返回開始時間,然後每開始時間增加1.5小時。因此,如果時間是上午11:45 - 下午2:45,時差爲三小時,3/1.5 = 2,然後返回上午11:45和下午1:15。此刻,我可以做所有事情,除了多次返回。根據我所嘗試的方法,它會返回初始時間(上午11:45),第一次增量(下午1:15)或結束時間(下午2:45)。到目前爲止,我已經嘗試了幾種不同類型的for和do/while循環。我最接近的是簡單地將開始時間和增加的時間連接起來,但開始和結束時間可以在3到6個小時的範圍內,所以這不是一個實際的方法。
最新的東西我想:
int i = 0;
do{
i++;
//Start is the starting time, say 11:45 am
start = start.AddMinutes(90);
return start.ToShortTimeString();
} while (i < totalSessions); //totalSessions is the result of hours/1.5
和我打電話動態標籤上的功能(這也是在for循環):
z[i] = new Label();
z[i].Location = new Point(PointX, PointZ);
z[i].Name = "sessionTime_" + i;
z[i].Text = getPlayTimes(dt.Rows[i][1].ToString());
tabPage1.Controls.Add(z[i]);
z[i].BringToFront();
PointZ += z[i].Height;
我很新到C#所以我想我只是誤解了某個地方的東西。
你不能從函數''返回'多次。如果將函數的返回類型更改爲「IEnumerable」,則可以使用「yield return」,但不清楚這是否是您想要執行的操作。 –
第一段太複雜,無法理解。 –
謝謝@DStanley,我不知道甚至存在。 –