C#以下代码块返回的是什么?

返回的是什么类型,具体返回什么数据,是否list{samedt,diffdt}两张表

 public List<DataTable> CompareList()
        {
            List<DataTable> listdt = new List<DataTable>();

            DataTable dtBefore = ExcelToDataTable(txtBeforePath.Text.ToString());
            DataTable dtAfter = ExcelToDataTable(txtAfterPath.Text.ToString());
            DataTable samedt = new DataTable();
            DataTable diffdt = new DataTable();
            samedt.Columns.Add("slot");
            samedt.Columns.Add("PN");

            diffdt.Columns.Add("slot");
            diffdt.Columns.Add("PN");

            //after table
            foreach (DataRow dr in dtAfter.Rows)
            {
                string afterPartNumber = dr["PN"].ToString();
                //before and after compare
                DataRow[] drs=  dtBefore.Select("PN=" + afterPartNumber);
                if (drs.Length > 0)
                {
                    //to do:add to same table
                    DataRow samedr = samedt.NewRow();
                    samedr["slot"] = dr["slot"].ToString();
                    samedr["PN"] = dr["PN"].ToString();
                    samedt.Rows.Add(samedr);
                }
                else
                {
                    //to do:add to diff table
                    DataRow diffdr = diffdt.NewRow();
                    diffdr["slot"] = dr["slot"].ToString();
                    diffdr["PN"] = dr["PN"].ToString();
                    diffdt.Rows.Add(diffdr);
                }
            }

            listdt.Add(samedt);
            listdt.Add(diffdt);
            return listdt;
        }

你代码不是有了,CompareList返回包含samedt,diffdt这2个table的List集合

 public List<DataTable> CompareList(){....

            listdt.Add(samedt);
            listdt.Add(diffdt);
            return listdt;

返回的是泛型 List T,可以是任何类型

返回类型就是List,从代码看是的,这个list中有两个DataTable

DataTable dt = list[0] as DataTable;试试?

datagridview.datasource=list[0]