Rad*_*dhi 21 c# lambda linq-to-objects
public class CourseDetail
{
public CourseDetail();
public string CourseId { get; set; }
public string CourseDescription { get; set; }
public long CourseSer { get; set; }
}
public class RefUIDByCourse
{
public long CourseSer { get; set; }
public double DeliveredDose{ get; set; }
public double PlannedDose{ get; set; }
public string RefUID { get; set; }
}
public class RefData
{
public double DailyDoseLimit { get; set; }
public string RefName { get; set; }
public string RefUID { get; set; }
public double SessionDoseLimit { get; set; }
}
public class CourseSummary
{
public long CourseSer { get; set; }
public double DeliveredDose{ get; set; }
public double PlannedDose{ get; set; }
Public List<RefData> lstRefData {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
对于一个courseSer,RefUIDByCourse中可以有多个RefUID,对于每个RefUID,RefData中都会有一个记录
我现在有CourseDetail,RefUIDByCourse和RefData的列表,因为课程中存在课程,我必须创建CourseSummary列表.
我可以做的一件事就是为coursedetail做循环并使用linq查询获取相应的refdata并创建一个courseummary对象并将其添加到列表中.
但有没有办法通过一个linq查询来做,而不是做循环
Ada*_*kis 38
加入的lambda有点涉及 - 这是一个简单的例子:
List<Person> People = new List<Person>();
List<PersonType> PeopleTypes = new List<PersonType>();
var joined = People.Join(PeopleTypes,
PeopleKey => PeopleKey.PersonType,
PeopleTypesKey => PeopleTypesKey.TypeID,
(Person, PersoneType) => new
{
Name = Person.Name,
TypeID = PersoneType.TypeID
});
Run Code Online (Sandbox Code Playgroud)
我通常发现查询语法比lambda用于加入更具可读性
var joined2 = from p in People
join pType in PeopleTypes
on p.PersonType equals pType.TypeID
where p.Name.StartsWith("whatever")
select new { Name = p.Name, TypeID = pType.TypeID };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66829 次 |
| 最近记录: |