Компактная запись метода - C#
Формулировка задачи:
Доброго времени суток!
Подскажите пожалуйста, как с помощью Linq более компактно и кратко записать сей метод
DateTime limit = DateTime.Now.AddMinutes((-1) * Properties.Settings.Default.minDeleteOlderRecords); if (!m_List.Any() == true) { this.m_List.AddRange(insert); } else { foreach (OktellChainCommutation ins in insert) { foreach (OktellChainCommutation m in m_List) { if (ins.ChainId == m.ChainId) { // ClientNumber // CallTimeStart m.CallTimeEnd = ins.CallTimeEnd; // FirstNumber m.LastNumber = ins.LastNumber; // CallTypeId // InputTime m.Commutation = ins.Commutation; } else { m.ClientNumber = ins.ClientNumber; m.CallTimeStart = ins.CallTimeStart; m.CallTimeEnd = ins.CallTimeEnd; m.FirstNumber = ins.FirstNumber; m.LastNumber = ins.LastNumber; m.CallTypeId = ins.CallTypeId; m.InputTime = ins.InputTime; m.Commutation = ins.Commutation; } } } } this.m_List.RemoveAll(x => x.InputTime < limit);
видимо форум еще не проснулся...
Решение задачи: «Компактная запись метода»
textual
Листинг программы
DateTime limit = DateTime.Now.AddMinutes((-1) * Properties.Settings.Default.minDeleteOlderRecords); if (!m_List.Any() == true) { this.m_List.AddRange(insert); } else { // this.m_List.AddRange(insert.Where(x => this.m_List.Any(y => y.ChainId == x.ChainId) == true)); //может что нибудь такое? var list = m_List.Join(insert, o => o.ChainId, i => i.ChainId, (o, i) => new { Exists = o, Inserted = i }); foreach (var item in list) { item.Exists.CallTimeEnd = item.Inserted.CallTimeEnd; item.Exists.LastNumber = item.Inserted.LastNumber; item.Exists.Commutation = item.Inserted.Commutation; } } this.m_List.RemoveAll(x => x.InputTime < limit);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д