2011-07-31 11 views

答えて

11
var myArray = S.Select(x => new [] { x.A, x.B }) 
       .SelectMany(x => x) 
       .Where(x=> !string.IsNullOrEmpty(x)) 
       .Distinct() 
       .ToArray(); 

は動作します - あなたはAさんとBさん、次はうまくいくのセットに一意制約が必要な場合:

var As = S.Select(x => x.A) 
      .Where(x=> !string.IsNullOrEmpty(x)) 
      .Distinct(); 
var Bs = S.Select(x => x.B) 
      .Where(x=> !string.IsNullOrEmpty(x)) 
      .Distinct(); 

var myArray = new [] {As、Bs} .SelectMany(x => x).ToArray();

var myArray = As.Concat(Bs).ToArray(); 
+0

@Joey:いや、更新 - 仮定はAさんに要求され、一意であり、Bは、そうでない場合は最初のアプローチは、レコード、 'As.Concat(BS)'希望の場合 – BrokenGlass

+1

方が良いだろう、結果のコレクションにはありません'SelectMany'と同じことをする –

+0

@ClausJørgensen:Doh!そして、はるかに簡単で読みやすい、それを編集しました。 – BrokenGlass

関連する問題