c# datatable 于 datatable之间

来源:互联网 发布:淘宝详情排版鉴赏 编辑:程序博客网 时间:2024/04/30 05:46

其实我们在一个程序里这样做

 private static void textDataTable()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("name");
            DataRow dr = dt.NewRow();
            dr.ItemArray = new Object[] { "李大亮" };
            dt.Rows.Add(dr);


            //DataTable dt_2 = dt;
            //dt_2.Rows.Clear();


            //如果上面的代码没有注释掉的话,那么rowCount的值是0
            //在这里就说明这里dataTable是传引用的
            int rowCount = dt.Rows.Count;


            try
            {
                DataTable dt_3 = new DataTable();
                dt_3.Columns.Add(dt.Columns[0]);
            }
            catch (Exception ex)
            {
                //如果写以上的这句话就会产生错误。
                //错误会提示:列“name”已经属于另一个datatable,所以我们想要在新的table中使用这样的还不行
                Console.WriteLine(ex.Message);
            }


            //一下是正确的写法
            DataTable dt_4 = new DataTable();
            foreach (DataColumn item in dt.Columns)
            {
                dt_4.Columns.Add(item.ColumnName);
            }




            foreach (DataRow item in dt.Rows)
            {
                DataRow dataRow = dt_4.NewRow();
                dr.ItemArray = item.ItemArray;
            }
        }

原创粉丝点击