एक वैकल्पिक विधि जो अधिक पुन: प्रयोज्य हो सकती है डेटटाइम पर एक एक्सटेंशन विधि लिखना और एक आईनेमरेबल लौटना है।
public static class MyExtensions
{
public static IEnumerable EachDay(this DateTime start, DateTime end)
{
// Remove time info from start date (we only care about day).
DateTime currentDay = new DateTime(start.Year, start.Month, start.Day);
while (currentDay <= end)
{
yield return currentDay;
currentDay = currentDay.AddDays(1);
}
}
}
अब बुला कोड में आप निम्न कर सकते:
उदाहरण के लिए, यदि आप एक वर्ग को परिभाषित कर सकते हैं
DateTime start = DateTime.Now;
DateTime end = start.AddDays(20);
foreach (var day in start.EachDay(end))
{
...
}
एक और लाभ यह इस दृष्टिकोण है कि यह यह करने के लिए तुच्छ बनाता है प्रत्येकविक, प्रत्येक माह आदि जोड़ें। ये सभी डेटटाइम पर पहुंच योग्य होंगे।
यहाँ एक नज़र डालें: http://stackoverflow.com/questions/533767/how-do-you-iterate-through-every-day-of-the-year –