c# ref 的作用

Usage of ref keyword in C# 

When we pass a value type variable as a parameter, then it passes its value as a parameter i.e. making a copy of the data. Making any changes inside the method in which it has been passed as a parameter will not affect the variable accessed outside the method. Because it is passed as a value and whatever the changes will be made inside the local method will be done on a copy of that variable.

If we need to change the value type variable from inside the method in which it has been passed as parameter, then you can pass this value type variable as the reference, using the ‘ref’ keyword. In this case, the reference of value type will be passed as a parameter rather than value of the variable

时间: 2024-10-09 23:12:02

c# ref 的作用的相关文章

out,ref的作用和区别(转载)

ref和out的区别在C# 中,既可以通过值也可以通过引用传递参数.通过引用传递参数允许函数成员更改参数的值,并保持该更改.若要通过引用传递参数, 可使用ref或out关键字.ref和out这两个关键字都能够提供相似的功效,其作用也很像C中的指针变量.它们的区别是: 1.使用ref型参数时,传入的参数必须先被初始化.对out而言,必须在方法中对其完成初始化. 2.使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字.以满足匹配. 3.out适合用在需要retrun多个返回值

C# 中 in,out,ref 的作用与区别

In:过程不会改写In的内容 Out和out:传入的值不会被过程所读取,但过程可以写 ref:传入的值,过程会读,也会写 就象你把布料送到裁缝的一个收料箱(裁缝用这个区别是哪家客户) IN:这块布料,不能动,我取时还要原样(我取时会要不要这块料,是我自己的事,你管不着,但你不能把这块料做任何改变,你只能看这块料的质地.色彩等等,你要想改变这块料,那自已去照这块料的样子复制一个) Out和out:我可能给了你布料,也可能没给,也可能我给你的只是一张纸或一块羊皮,但我希望无论我给或没给,你都会给我一

vue基础 ref的作用

1.  ref 获取dom元素,除了能获取dom元素也能获取组件dom, 组件通信: 在父组件中直接调用ref定义的组件的数据或者方法 <div id="app"> <p ref="mybutton"></p> <div ref="mybutton"></div> <!-- 会覆盖 --> <!--遇见循环 输出是一个数组--> <template v-fo

Mitsuba中的智能指针ref&lt;&gt;和scheduler单例

Mitsuba中随处可见ref<xxx> 和 scheduler 先说说class ref, 它在include\mitsuba\core\ref.h中定义 template<typename T> class ref{ public: /// Create a NULL reference ref() : m_ptr(NULL) { } /// Construct a reference from a pointer ref(T *ptr) : m_ptr(ptr) { if (

浅谈c#的三个高级参数ref out 和Params

c#的三个高级参数ref out 和Params 前言:在我们学习c#基础的时候,我们会学习到c#的三个高级的参数,分别是out .ref 和Params,在这里我们来分别的讲解一下,在这里的我们先不做具体的解释,我会通过几个例子来做分别的解释. 一:out参数  1.首先我先给大家一个题:我们来写一个方法,来求一个数组中的最大值,最小值,总和,平均值.代码如下:  int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };  通过分析我们会发现如果我们写一个方

C# 中out,ref,params参数的使用

C#中有三个高级参数,分别是out,ref,params: 1.out参数 方法使用return 只能返回一个值(一个数值或一个指针值),out参数可以帮助我们在一个方法中返回多个值,不限类型. 在使用out参数的时候需要注意: 在调用方法之前,对out参数传递的变量只需声明,可以赋值也可以不赋值,赋值也会在方法中被覆盖掉. 方法使用了out参数传递变量时,就是要返回值,所以必须在方法内为其赋值. 方法的参数使用out关键字修饰时,在调用该方法时,也要在out参数传递的变量前面加上out关键字才

Vue.js 源码分析(十) ref属性详解

用法 ref 被用来给元素或子组件注册引用信息.引用信息将会注册在父组件的 $refs 对象上.如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素:如果用在子组件上,引用就指向组件实例,例如: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <scrip

『ORACLE』 PLSQL动态游标的使用(11g)

#静态游标指的是程序执行的时候不需要再去解析sql语言,对于sql语句的解析在编译的时候就可以完成的. 动态游标由于含有参数,对于sql语句的解析必须要等到参数确定的时候才能完成. 从这个角度来说,静态游标的效率也比动态游标更高一些. #游标的相关概念: 定义: 游标它是一个服务器端的存储区,这个区域提供给用户使用,在这个区域里 存储的是用户通过一个查询语句得到的结果集,用户通过控制这个游标区域当中 的指针 来提取游标中的数据,然后来进行操作. 实质: 是用户在远程客户端上对服务器内存区域的操作

java程序

This XML file does not appear to have any style information associated with it. The document tree is shown below.博客园_首页代码改变世界uuid:5de59c50-a92f-4447-96ed-ab86451ed183;id=61182014-07-27T11:59:08Zfeed.cnblogs.comhttp://www.cnblogs.com/jianyus/p/3865670