首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >join的Lambda表达式

join的Lambda表达式
EN

Stack Overflow用户
提问于 2011-02-18 14:24:43
回答 1查看 76.1K关注 0票数 21
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;} 
    }

对于一个courseSer,在RefUIDByCourse中可以有多个RefUID,对于每个RefUID,在RefData中都有一条记录

我有CourseDetail,RefUIDByCourse和RefData的列表,现在在coursedetail中存在的课程中,我必须创建CourseSummary的列表。

我可以做的一件事是为coursedetail执行for循环,并使用linq查询获取相应的refdata,然后创建coursesummary对象并将其添加到列表中。

,但有没有办法通过一个linq查询来完成,而不是通过进行循环

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-18 14:43:53

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 
    });

对于连接,我通常发现查询语法比lambdas更具可读性

        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 };
票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5038288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档