2016-08-21 7 views
0

以下の表に基づいて、Linqを使用してTest ID 1aに関連付けられたすべてのデバイス名を取得し、リストに格納します。テストIDが複数回リストされることが常にわかっているとは限りません。C#Linqは列Aが一致する場合は列Bから値を取得します

Test ID DeviceName 
1a   dev1 
1b   dev2 
1a   dev2 
1c   dev1 
+0

あなたの質問は本当に明確ではありません。あなたは 'TestId'と' DeviceName'についての例を尋ねますが、他の多くのフィールドでコードを表示します。あなたは何をしたいのかをもっとよく説明できますか? –

+0

概念はかなり明確です...複数のテストIDを持つテーブルがあり、テストIDによって関連付けられたすべてのホスト名を収集する必要があります。コードとサンプルテーブルが同じであるかどうかで違いはありません – Chris

+0

なぜ2つのフィールドでグループ化し、DataTableにローを追加するのですか?少し混乱します。グループ化して値を連結する方法については答えることができますが、残りのコードでは、私の質問への回答に基づいて –

答えて

0

あなたがしたいすべてが列Bのすべての値を読まれる場合は、次のクエリはあなたが必要とする必要があるすべてである:

string testID; 
// set testID from somewhere (user input, config file, another query etc.) 

var results = dataTable.Where(t => t.Id == testID).Select(t => t.DeviceName).ToList(); 

resultsはタイプList<string>のものであろう。

+0

testIDが何であるかわからないということを繰り返す必要があります。 – Chris

+0

@Chris - 文字列を変数に置き換えて使用します。 – ChrisF

関連する問題