c#中对象最为参数的传递是是引用还是拷贝??
c#中对象的传递倒是是引用还是拷贝??datasetds=newdataset();dataAdapter.fill(ds);然后ds就可用直接使用了,但是从表面看应该是...
c#中对象的传递倒是是引用还是拷贝??
dataset ds=new dataset();
dataAdapter.fill(ds);
然后ds就可用直接使用了,但是从表面看应该是是所谓的传值传递,对结果确是按地址传递的结果,ds里面已经被填充了数据,请教
结果是按引用传递我知道,我问的是这种以对象作为参数的传递都是默认引用传递吗??
int i 从广义上说也是一个对象,为什么按引用就要加ref 或out 才可以,??
请说出根本原因,谢谢 展开
dataset ds=new dataset();
dataAdapter.fill(ds);
然后ds就可用直接使用了,但是从表面看应该是是所谓的传值传递,对结果确是按地址传递的结果,ds里面已经被填充了数据,请教
结果是按引用传递我知道,我问的是这种以对象作为参数的传递都是默认引用传递吗??
int i 从广义上说也是一个对象,为什么按引用就要加ref 或out 才可以,??
请说出根本原因,谢谢 展开
5个回答
2011-09-06
展开全部
这个不管从里面表面看都是按引用传递,在dataAdapter.fill(...)方法中会对ds进行数据填充,如果按值传递,那就是复制了,那你的ds就填充不了任何数据了,填充的只是一个副本,而这个副本在fill完成后就等着被gc掉,那就毫无意义了。
展开全部
C#中有两种数据,一是引用类型,一是值类型。引用类型做参数的时候传递的是引用,值类型传递的是拷贝
追问
请问:引用类型,值类型这个怎么区分,对象自身有没有属性表明?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1楼正解
从原理来看:
关键是看变量是存放在哪里的,如果是存在堆里的,就是引用类型,如果是存在栈里的就是值类型,
从最简单的角度来看,
这也是我刚开始学习的思考方式,
可以赋值为null的就是引用类型,反之,就是值类型。
从原理来看:
关键是看变量是存放在哪里的,如果是存在堆里的,就是引用类型,如果是存在栈里的就是值类型,
从最简单的角度来看,
这也是我刚开始学习的思考方式,
可以赋值为null的就是引用类型,反之,就是值类型。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是引用传递吧。 dataset是引用类型来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询