Jag får inte riktigt till detta. Vet att det inte riktigt stämmer på hur jag vill ha det.
Jag vill kolla datum i en collection och se hur många tider som skulle placera bredvid varandra i en kalender. Funktionen måste göras rekursivt eftersom att de två första tiderna ligger inom samma intervall men den tredje tiden ligger bara inom samma intervall som den andra tiden. Men de måste ändå placera sig efter varandra på grund av överlappningen.
Tänk er som en kalender där tiderna ska placera sig bredvid varandra då de krockar.
Hela testwebbservern hänger sig när jag kör denna kod. Kan det ha med minnesläckage?
Det är inte så konstigt eftersom du inte har något slut på din rekursition.
För att rekursiva funktioner skall fungerar så måste du hela tiden jobba dig närmare och närmare slutet. I ditt fall så kontrollerar du samma collection hela tiden, och skulle du hitta ett objekt som matchar din IF sats så kommer du hoppa in i din checkFoSameInterval och köra igenom exakt samma förfarande igen och kommer hitta samma objekt som kommer gå igenom din IF sats och sedan så kommer du hoppa in i din checkForSameInterval och du kommer hitta samma objekt som går igenom din IF-sats osv osv...
Ditt problem i koden är alltså att du inte "ändrar" antalet objekt som kontrolleras, utan du har exakt samma data som kontrolleras vid varje nytt anrop till metoden, och det fungerar ju inte.
Använder Dictionary istället för List eftersom det ger effektivare uppslag (finns kanske nån lämpligare datasamling, men principen är densamma). Det förutsätter att GetHashCode funkar för Reservation, gör den inte det kan du använda reservations-ID som nyckel istället.