LinQ的Join搭配LET的用法

摘要:LinQ的Join搭配LET的用法

記錄一下 ^_^

 

 

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        List<MyClass1> l = new List<MyClass1>(){
            new MyClass1{Name="dyco",Description="It's Boy"},
            new MyClass1{Name="Chen",Description="It's Girl"}
        };

        List<MyClass2> l1 = new List<MyClass2>(){
            new MyClass2{Name="dyco",Info="備註一"},
            new MyClass2{Name="dyco",Info="備註二"}
        };

        var r = from i in l
                where i.Name == "dyco"
                join i1 in l1 on i.Name equals i1.Name into g
                let iii=from g1 in g select new {info1=g1.Info}
                select new { name = i.Name, infoColl = iii } ;

              foreach(var item in r){
                  Response.Write(item.name + "備註有:");
                  foreach (var item1 in item.infoColl)
                  {
                      Response.Write(item1.info1);
                  }
              }
    }
}

class MyClass1
{
    public string Name { get; set; }
    public string Description { get; set; }

}

class MyClass2
{
    public string Name { get; set; }
    public string Info { get; set; }

}