내 학생 클래스는 얼마나날짜 시간 사이의 그룹 데이터 Linq에
class Student
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int ID { get; set; }
public DateTime Admission{get; set;}
}
내가 그룹에 날짜 사이의 데이터를 원하는 위치에 입학해야합니다 예를 들어 다음 날 아침 오전 7시, 오늘 오전 7시 사이 : - 11/4/2,014 7 : 0 : 0 2014년 11월 5일 7 : 0 :하지만이 날짜의 사이의 모든 데이터를 하나의 그룹에 있어야합니다 0
현재 내가이
var groupByAdmsn = listOfStudent.
GroupBy(x => x.Admission < new DateTime(x.Admission.Year, x.Admission.Month, x.Admission.Day, 7, 0, 0).AddDays(1) &&
x.Admission >= new DateTime(x.Admission.Year, x.Admission.Month, x.Admission.Day, 7, 0, 0))
.Select(x => x)
.ToList();
처럼 그 일을하고있다 작동 안함.
솔루션 위에서 주어진 제대로 작동하려면 Equals 메서드에 작은 수정이 필요; Equals Method는 매번 true를 반환해야합니다. 그렇지 않으면 hashcode가 전날의 데이터 임에도 새 그룹의 데이터를 그룹화합니다. 위 코드는 2011 년 11 월 5 일 6:58:00 및 2014 년 11 월 5 일 오전 6시 21 분에 작동하지 않습니다. @ ChrisC73 맞습니다 또는 다른 이유로 코드가 작동하지 않는 이유입니다. –
당신은 절대적으로 옳습니다 : 해시 코드와 같은 논리를 사용하도록 답변을 업데이트했습니다. – ChrisC73