2015-09-27 10 views
-3

Может ли кто-нибудь сказать мне ниже двух циклов, как мне объединиться в C# Это мой два цикла.Как объединить два цикла в C#

for (int i = 0; i <= 4; i++) 
{ 
    //assum t1 value 8.00 
    t1 += TimeSpan.FromMinutes(15); 
} 

foreach (var list in model) 
{ 
    list.Time = t1.ToString(); 
    db.Entry(list).State = EntityState.Modified; 
    db.SaveChanges(); 
} 

Выход

  • Первая запись обновление 8,00
  • Вторая запись обновление 8,15
  • Третья запись обновление 8,30
  • Четвертая запись обновление 8,45
+0

Вам не нужен первый цикл. Второй цикл просто должен включать в себя 't1 + = TimeSpan.FromMinutes (15);' after' list.Time = t1.ToString(); ' –

+0

Если я удалю первый цикл, то как я могу подсчитать i (4 записи) – user2117713

+0

Почему вам нужно считать 'i'? См. Ответ Йоахима Олссона. –

ответ

1

Ass ели «модель» содержит вашу четыре записи:

var t1 = TimeSpan.FromHours(8); //Assuming t1 is 8.00 as you said 
foreach(var entry in model) 
{ 
    list.Time = t1.ToString(); 
    t1 += TimeSpam.FromMinutes(15); 
    db.Entry(list).State = EntityState.Modified; 
    db.SaveChanges(); 
} 

Когда модель содержит более четырех записей, они будут оставаться разделены на 15 минут (например. 5-я позиция будет 9.00, затем 9.15 и т. д.)

Если вы хотите, чтобы 5-я запись возвращалась к 8.00 и 6-го по 8.15 и так далее, все, что вам нужно сделать, это сбросить счетчик после четырех добавлений, например:

var t1 = TimeSpan.FromHours(8); //Assuming t1 is 8.00 as you said 
var iii = -1; 
foreach(var entry in model) 
{ 
    list.Time = t1.ToString() + TimeSpan.FromMinutes(++iii * 15); 
    db.Entry(list).State = EntityState.Modified; 
    db.SaveChanges(); 
    if(iii == 3) 
     iii = -1; 
} 
+0

Я понял, спасибо – user2117713

Смежные вопросы