아래의 LINQ 표현식을 사용하여 데이터 테이블을 채우려 고합니다. 문제없이 작동하지만 해킹이 느껴집니다. 이 작업을 수행하는 더 좋은 방법이 있습니까? LINQ 표현식을 실행 중입니다.
var Records = <Dictionary object with some data.>
DataTable objDataTable = null;
objDataTable.Columns.Add("Column1", typeof (string));
objDataTable.Columns.Add("Column2", typeof (string));
// Have to perform .Count() to execute the linq expression in order to
// add datarows in datatable
Records.Keys.Select(rec => objDataTable.Rows.Add(new object[] {rec, Records[rec]})).Count();
나는 문을 실행하기 위해 마지막에 .Count()
에에있는 이상 당신이 볼 수 있듯이
.ToArray()
을하고 있었지만 그때 나는
.Count()
이 더 저렴할 것이라고 생각했다.
어느 쪽이든이 방법은 읽기가 쉽지 않습니다. 당신이 이 사용 Linq는 당신이 항상 것은 그렇게하도록 강요해야 의미하지 않는다 수해서
foreach(var rec in Records.Keys)
{
objDataTable.Rows.Add(new object[] {rec, Records[rec]});
}
을 - 특히 -
[가능한 LINQ-Query를 실행하는 가장 저렴한 방법은 무엇입니까] (http://stackoverflow.com/questions/9010639/what-is-the-cheapest-way-to-execute-a-linq - 쿼리 - 즉시) - 유사점이 인상적입니다 ... –
:) 예 그들은 있습니다 – Zeus