c#里面DataTable对象的赋值,难道不是引用的?
DataTabledt=newDataTable();DataTabledtCopy=newDataTable();DataSetds=newDataSet();ds.R...
DataTable dt = new DataTable();
DataTable dtCopy = new DataTable();
DataSet ds = new DataSet();
ds.ReadXml(@"C:\Documents and Settings\wenxi\Desktop\wenxi.xml");
dt = ds.Tables[0];
dtCopy = dt;
dt = null;
之前提了一个问题,注意这一次是dtCopy = dt;直接赋值,但是当我把dt设为null的时候,调试发现dtCopy里面依然还是有值,为什么? 展开
DataTable dtCopy = new DataTable();
DataSet ds = new DataSet();
ds.ReadXml(@"C:\Documents and Settings\wenxi\Desktop\wenxi.xml");
dt = ds.Tables[0];
dtCopy = dt;
dt = null;
之前提了一个问题,注意这一次是dtCopy = dt;直接赋值,但是当我把dt设为null的时候,调试发现dtCopy里面依然还是有值,为什么? 展开
展开全部
dt = ds.Tables[0];
dt指向一个地址空间,这个地址空间也被ds.Tables[0]指向 我们记为地址空间A 他是有数据的
dtCopy = dt;
dtCopy也指向地址空间A
dt = null
dt指向一个地址空间 这个地址空间为NULL 我们记为B
这时候 dtCopy指向的还是地址空间A
dt指向一个地址空间,这个地址空间也被ds.Tables[0]指向 我们记为地址空间A 他是有数据的
dtCopy = dt;
dtCopy也指向地址空间A
dt = null
dt指向一个地址空间 这个地址空间为NULL 我们记为B
这时候 dtCopy指向的还是地址空间A
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把dt设为null之前 dtCopy已经赋值,所以dt的数据在dtCopy里面dtCopy = dt; dt = null;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为 它不是引用类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询