従業員が働くことができるシフトを表すクラスがあります。
public class Shift {
public int Id { get; set;}
public DateTime Start {get;set;}
public DateTime End { get; set;}
public DayOfWeek Day { get; set;}
}
そして、1 人の従業員のこれらのシフトのリストがあるとします。
List<Shift> myShifts;
次のlinqステートメントを使用して、日ごとにシフトをグループ化できることを知っています。
var shiftsByDay = from a in myShift
group a by a.Day;
私の質問:毎日、重複するすべてのシフトを別々のグループで、二重にカウントせずに取得するにはどうすればよいですか?
重複シフトとは、開始時刻または終了時刻が別のシフトの開始時刻または終了時刻と重複するシフトです。
可能であれば、linqでこれを実行できるようになりたいです。