2017-01-19 19 views
0

Lambda(または何らかの方法)でC#を使用すると、同じインチュチション名の異なる情報(列から)をどのようにマージできますか?彼らはいくつかの共通のフィールドといくつかの異なるフィールドを持つことができます。LAMBDA C#共用体情報

以下の例を参照してください: enter image description here

+0

あなたのサンプルデータが正確に – Jonesopolis

答えて

0

は、あなたが指示することにより、グループを試してみましたか?ここで

はこれについて、他のstackoverflowのです:Group by in LINQ

+3

これはコメントではなく、答えはあなたが何をしたいの鮮明な画像を取得するのに十分ではありません – bolt19

0
{ 
     List<Instituition> Instituitions = new List<Instituition>() { 
     new Instituition { Name = "Name1", Alias = "",Area="" }, 
     new Instituition { Name = "Name1", Alias = "Alias1",Area="" }, 
     new Instituition { Name = "name2", Alias = "Audi" ,Area="444"}, 
     new Instituition { Name = "Name1", Alias = "",Area="Garden" }}; 


     var results = Instituitions.GroupBy(i => i.Name, 
          i => i.Alias, 
          (key, g) => new 
          { 
           Name = key, 
           Alias = g.Where(a =>a != "").FirstOrDefault(), 
           Area = Instituitions.Where(a=>a.Name == key && a.Area != "").Select(a=>a.Area).FirstOrDefault() 
          }        

         ); 


    } 

    class Instituition 
    { 
     internal string Name; 
     internal string Alias; 
     internal string Area; 
    } 
関連する問題