C#以foreach中的某个值开始

use*_*432 2 c#

有没有办法从foreach中的某个值开始?具体来说,我想从早上7:30开始.

DateTime start = DateTime.Today; 
var clock = from offset in Enumerable.Range(0, 48)
                 select start.AddMinutes(30 * offset);
foreach (DateTime time in clock)
{
    string timeValue = time.ToString("hh:mmtt");
}
Run Code Online (Sandbox Code Playgroud)

mel*_*okb 5

简而言之,没有.只需让您的Enumerable.Range覆盖正确的范围(可能需要仔细检查):

var clock = from offset in Enumerable.Range(15, 48)
                 select start.AddMinutes(30 * offset);
Run Code Online (Sandbox Code Playgroud)

编辑

更清洁的解决方案可能是这样的:

DateTime start = // set start
DateTime end = // set end
while (start <= end) {
    // do stuff here
    start = start.AddMinutes(30);
}
Run Code Online (Sandbox Code Playgroud)