J'ai une liste d'objets avec deux propriétés (début et fin). Je dois pouvoir prendre des articles dont les heures relèvent d'une variable (option de configuration) niveau de tolérance et de les combiner.
tolérance: em> 1 heure p> puisque la tolérance est une heure, je dois être capable de "combiner" ces deux dans une seule tranche ou autre objet similaire avec, dans cet exemple, les statistiques suivantes: p> une classe d'échantillons qui J'utilise pour les tests suit. La classe de production a deux propriétés telles que plusieurs autres. P> public class TimeTest
{
public DateTime Start { get; set; }
public DateTime End { get; set; }
}
3 Réponses :
Cela me semble comme une simple situation min / max. initialise une construction de 1pm - 4pm comme vous le voyez comme min code> et max code> contiendra vos heures de début et de fin. p> p>
Lorsque vous souhaitez itérer une séquence et utilisez certains critères pour combiner parfois des éléments consécutifs dans un seul élément, vous pouvez utiliser un bloc Itérateur pour garder l'état sur l'élément "Précédent" tout en itération:
var combinedItems = items.Combine();
Merci beaucoup. Très élégant et très serviable. Acclamations.
Une autre façon d'y parvenir, à l'aide d'agrégat.
pour l'entrée p> où l'intervalle est défini comme p> où la mergeance est définie comme p> sortie p> = "https://i.stack.imgur.com/zkpir.png" rel = "nofollow NOREFERRER"> exemple dans le violon p> < / p>
P>
Que se passe-t-il avec trois articles où 1 et 2 sont en une heure et 2 et 3 sont en une heure?
Si ce sont des objets code> DateTime CODE>, les soustraits vous donnera une différence
Timespan code>.Tous doivent être combinés. Donc, si 1 est de 13h à 14h, 2 est de 14h30 à 16h et 3 de 17h à 18h, le temps de sortie final doit être de 1pm à 18h.
Pouvez-vous publier ce que ressemblent les objets, et peut-être un exemple de code où vous avez essayé de le faire vous-même?