0
나는 같은 질문을 before.과 같습니다. 나는 여전히 같은 샘플을 사용하고 있습니다.LINQ를 사용하여 DataTable을 쿼리하는 데 도움이되는 또 다른 도움말
DataTable table = new DataTable();
table.Columns.Add("column1", typeof(int));
table.Columns.Add("column2", typeof(int));
table.Columns.Add("column3", typeof(string));
table.Rows.Add(1, 0, "a");
table.Rows.Add(2, 1, "b");
table.Rows.Add(3, 1, "c");
table.Rows.Add(4, 3, "d");
table.Rows.Add(5, 3, "e");
그리고이 값, 컬럼에서도 2 열에 나타납니다 3 열의 값을 반환 할 않았다
var x = (from t1 in table.AsEnumerable()
select t1.Field<int>(0)).Intersect
((from t2 in table.AsEnumerable()
select t2.Field<int>(1)).Distinct());
가 어떻게 위의 LINQ에 따라 3 열의 값을 얻을 수 있습니까?
내가 허용 대답 here 사용할 수 있습니다 : 나는 생각 하지만 내가로 번역 될 수있는 최초의 LINQ의 반대에 사용할 수 없습니다
var result = (from t1 in table.AsEnumerable()
join t2 in table.AsEnumerable() on t1.Field<int>(0) equals t2.Field<int>(1)
를 '누구의 3 열의 값을 돌려줍니다 열 1의 값이 이 아니며이 열 2에 표시됩니다. ' 그러나 위의 LINQ를 대신 Except()
으로 변경할 수 있습니다. 단지 var x
을 사용하여 행 모음을 얻거나 column3 값을 얻는 방법을 알아야합니다.
? 강력하게 형식화 된 콜렉션은 대개 훨씬 낫습니다. – svick