2017-07-19 10 views
1

に参加します。LINQクエリは、私がデータテーブルにLINQクエリの下にある複数の選択

私がここでやろうとしているのは、3つのlinqクエリをすべて1つだけ結合することです。最終的な目標は、文字列の配列、つまりsrcを取得することです。

どうすればいいですか?

+0

でしょうか? – DavidG

+0

現在のコードは何をしていますか?それはあなたが**ほしいものとはどのように違いますか? – mjwills

答えて

1

:クエリ構文で

string[] src = dt.AsEnumerable() 
    .SelectMany(row => new[]{ row.Field<String>("Name"),row.Field<String>("Surname"),row.Field<String>("Second Surname")}) 
    .Distinct() 
    .ToArray(); 
1
  var everything = dt 
      .AsEnumerable() 
      .Select(x => x.Field<string>("Name")) 
      .ToArray().Concat(dt.AsEnumerable() 
      .Select(x => x.Field<string>("Surname")) 
      .ToArray()).Concat(dt 
       .AsEnumerable() 
       .Select(x => x.Field<string>("Second Surname")) 
       .ToArray()); 

Concatを使用するとこれを解決できます。あなたがSelectManyで簡単に単一のクエリでそれを持つことができ

+0

これは質問ですか、それとも答えですか? – DavidG

+0

それは彼のために問題を解決したかどうかを確認するために質問をしたユーザーへの答えと質問です。 – milorads

+0

回答には質問が含まれてはいけませんが、これはコメントのためのものです。 – DavidG

1

をそれがだから何が上記のコードで動作していない

var src = (from row in dt.AsEnumerable()    
      from n in new[]{ row.Field<String>("Name"),row.Field<String>("Surname"),row.Field<String>("SecondSurname")} 
      select n).Distinct().ToArray(); 
関連する問題