永发信息网

C#中ref,out和params有什么区别

答案:2  悬赏:10  手机版
解决时间 2021-02-07 15:53
C#中ref,out和params有什么区别
最佳答案
out 关键字会导致参数通过引用来传递.这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化.若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字 比如类Apublic class A{public void Function(ref string pcRef){//这里必须要给pcRef赋值,哪怕赋值都可以pcRef = 我返回了一个string;}}然后,在类B里面调用A的方法Function在调用前,要给你所传的参数赋初始值.比如public class B{ private void Function() { string lcRef = ;//这里为lcRef赋初始值为 A _a = new A(); _a.Function(ref lcRef); //在这之后,我们就能知道lcRef=我返回了一个string; }}out 的用法跟ref基本上类似,方法无须有返回值return,我们便可获得想要的结果需要指出的是:1、当我们频繁传递大型参数的时候,比如说DataTable、DataSet...的时候,会节省好多内存资源.2、当我们想得到方法多样化的处理结果的时候,而我们又不愿意复杂化方法所返回的结果,那么我们可以在方法里定义多个ref 或者 out,以期得到丰富的结果.比如说,我们调用一个方法,要同时得到string、int、double、bool、Array...等几种不同类型的结果,而return返回object又很复杂的时候,ref 和out的处理效果,看上去将会是多么的赏心悦目...希望有所帮助!呵呵,我能接分吗?
全部回答
感谢回答
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
众惠办公家具实体店地址在哪,我要去那里办事
华晨宇在花儿与少年,背的是什么牌子的包。
我的手机是vivoxshot可是打不开蓝牙重启手机
女大学生孙某毕业后被企业录用。孙某为了锻炼
大脸,想削骨。削骨手术疼吗?有没有做过的分
海芯窗帘地址在什么地方,我要处理点事
城府深深不可测 下联
宇悦家私地址好找么,我有些事要过去
格美家具怎么去啊,我要去那办事
升级emui5.0后还能返回emui4.0吗
用4、0、6、0这几个数字组成的最大的四位数是
华宝家具地址有知道的么?有点事想过去
下列关于细胞分裂、分化、癌变与凋亡的叙述,
龙达维修服务中心怎么去啊,有知道地址的么
求一个手机软件名字 是照相的 就是可以连拍很
推荐资讯
长葛许昌白云宾馆地址有知道的么?有点事想过
什么洗面奶弱性比价低,保湿好,你们用的是什
头上长痘痘是能染发吗
玻璃钢有哪些特性?
快手里面的评论信息怎么时间久了没有了
【dip】DIP和SOP区别
孝南区孝感诚信水电(乾坤大道)地址是什么,有
玉升村地址在哪,我要去那里办事
速求请以“我心目中的班主任”或“假如我是班
河北龙凤山炉料有限责任公司地址在哪,我要去
侠诺路由器FVR080怎么设置
邮政银行金卡信用卡额度多少
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?