2016-08-21 5 views
0

아래 표에 따라 Linq를 사용하여 Test ID 1a과 관련된 모든 장치 이름을 가져 와서 목록에 저장하는 것이 가능합니까? 그것이 어떤 테스트 ID가 두 번 이상 나열 될지 항상 알 수 없다고 가정합니다. 당신이 원하는 모든 열 B의 모든 값을 읽을 경우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

다음 쿼리는 당신이 필요합니다 모든입니다 :

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

관련 문제