아래 표에 따라 Linq를 사용하여 Test ID 1a
과 관련된 모든 장치 이름을 가져 와서 목록에 저장하는 것이 가능합니까? 그것이 어떤 테스트 ID가 두 번 이상 나열 될지 항상 알 수 없다고 가정합니다. 당신이 원하는 모든 열 B의 모든 값을 읽을 경우C# Linq는 열 A가 일치하는 경우 열 B에서 값을 가져옵니다.
Test ID DeviceName
1a dev1
1b dev2
1a dev2
1c dev1
아래 표에 따라 Linq를 사용하여 Test ID 1a
과 관련된 모든 장치 이름을 가져 와서 목록에 저장하는 것이 가능합니까? 그것이 어떤 테스트 ID가 두 번 이상 나열 될지 항상 알 수 없다고 가정합니다. 당신이 원하는 모든 열 B의 모든 값을 읽을 경우C# Linq는 열 A가 일치하는 경우 열 B에서 값을 가져옵니다.
Test ID DeviceName
1a dev1
1b dev2
1a dev2
1c dev1
다음 쿼리는 당신이 필요합니다 모든입니다 :
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>
이 될 것입니다.
질문이 명확하지 않습니다. 당신은'TestId'와'DeviceName'에 대한 예제를 물어 보았지만 다른 많은 필드와 함께 코드를 보여줍니다. 당신이하고 싶은 것을 더 잘 설명해 주시겠습니까? –
개념이 꽤 명확 해 보입니다 ... 여러 개의 테스트 ID가있는 테이블이 있고 테스트 ID와 관련된 모든 호스트 이름을 수집하려고합니다. 코드와 예제 테이블이 동일하거나 다르면 차이가 없어야합니다. – Chris
2 개의 필드로 그룹화하고 DataTable에 행을 추가하는 이유는 조금 혼란 스럽습니다. 그룹화하고 값을 연결하는 방법에 대한 대답을 할 수 있지만 코드의 나머지 부분은 그것이 내 질문에 대한 대답을 기반으로 여기에 –