1
            var dept_list = (from map in DtMapGuestDepartment.AsEnumerable()
                            where map.Field<Nullable<long>>("GUEST_ID") == DRowGuestPI.Field<Nullable<long>>("PK_GUEST_ID")
                            join
                            dept in DtDepartment.AsEnumerable()
                            on map.Field<Nullable<long>>("DEPARTMENT_ID") equals dept.Field<Nullable<long>>("DEPARTMENT_ID")
                            select new 
                                {
                                    dept_id=dept.Field<long>("DEPARTMENT_ID")
                                    ,dept_name=dept.Field<long>("DEPARTMENT_NAME")
                                }).Distinct();


            DataTable dt = new DataTable();
            dt.Columns.Add("DEPARTMENT_ID");
            dt.Columns.Add("DEPARTMENT_NAME");
            foreach (long? dept_ in dept_list)
            {
                dt.Rows.Add(dept_[0], dept_[1]);
            }

編集

私が尋ねた前の質問で。

私は単一の値に対してこのような答えを得ました。2つの違いは何ですか?

foreach (long? dept in dept_list) {
    dt.Rows.Add(dept);
}
4

1 に答える 1

1
foreach (var dept_ in dept_list)
{
   dt.Rows.Add(dept_.dept_id, dept_dept_name);
}

編集のための答え

前の質問ではdept_listはIEnumerable型だったと思いますが、この質問ではIEnumerable型で、Tは匿名型です。

于 2010-05-26T09:50:33.100 に答える