当前位置:首页 科普知识 REF(关键字)

REF(关键字)

发布时间:2023-09-07 13:26:00

.net的关键字,ref关键字--让参数按照引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中;也等同将值类型的数据使用引用方式传参。若要使用ref参数,则方法定义和调用方法都必须显示使用ref关键字。ref是 Reference的缩写。

REF(关键字)详细介绍

.net的关键字,ref关键字--让参数按照引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中;也等同将值类型的数据使用引用方式传参。若要使用ref参数,则方法定义和调用方法都必须显示使用ref关键字。ref是 Reference的缩写。

REF(关键字)

例如

                class RefExample                {            static void Method(ref int i)            {                i=44;            }            static void Main()            {                int val=0;                Method(ref val);//val is now 44            }        }        

传递到ref参数的参数必须最先初始化。这与 out 不同,out 的参数在传递之前不需要显式初始化。尽管ref和out在运行时的处理方式不同,但它们在编译时的处理方式是相同的。因此,如果一个方法采用ref参数,而另一个方法采用out 参数,则无法重载这两个方法。

REF(关键字)

注意:属性不是变量,因此不能作为ref参数传递。

REF(关键字)

ref和out两个参数的不同在于:

1、ref传进去的参数必须在调用前初始化,out不必,即:

                int i;                SomeMethod(ref i);//语法错误        SomeMethod(out i);//通过        

2、ref传进去的参数在函数内部可以直接使用,而out不可:

        public void SomeMethod(ref int i)                {            int j=i;//通过            //...        }        public void SomeMethod(out int i)        {            int j=i;//语法错误        }        

3、ref传进去的参数在函数内部可以不被修改,但out必须在离开函数体前进行赋值。

温馨提示:
本文【REF(关键字)】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6