ref 参数:
方法在传入值类型的参数时,如果参数前带ref,该值将作为引用传递给方法,及方法对该参数的操作将影响到原来的值;
out参数:
方法的参数为值类型时,在调用方法时要就传入的参数要初始化。如果在参数前代out,那么参数就可以不用初始化。但在调用时,也要带有out。
private void Function(out int i)
{
&n
原创
2009-09-07 13:56:26
305阅读
总结out和ref参数
1、out和ref引用参数的相同点:都是通过引用传递参数给函数的
2、out和ref引用参数的不同点:用ref引用传递参数,该参数必须经过初始化,并且不能再调用它的函数中初始化
3、使用out引用多个参数来返回多个值,这允许方法任意地返回需要的值
4、如果一个方法使用ref引用参数,另一个方法
原创
2011-04-04 19:43:34
550阅读
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
原创
2012-12-02 02:48:45
448阅读
C# Out,Ref 学习总结。 ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。 使用ref前必须对变量赋值,out不用。 out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。 区别可以参看下面的代码:public class OutRef { static voi
转载
2012-06-12 10:17:00
42阅读
2评论
前言 数据在内存中,存在两种状态,堆和栈中。堆中的数据是可以直接拿到的,一般称引用对象。 这些对象有一个特征,那就是经过函数处理之后,这些数据在主线程中改变了。好奇点好了,为什么栈中的数据就不会改变呢?难道是没有计算? 其实计算机哪有这么聪明,不过是找了个替代者 形参。可以说就像古代上战场抓壮丁一样
转载
2020-06-15 13:56:00
339阅读
2评论
ref和out都是导致参数通过引用来传递。例:一个方法前加ref/out时:就说明给参数不是通过值传递了,而是要通过引用来传递(引用的只是值在内存中的地址)方法定义的区别:①public void swap(int a,int b){int c;c=a;a=b;b=a;}②public void swap1(ref int a,ref int b){int c;c=a;a=b;b=a;}方法调用的
原创
2009-03-29 09:41:53
679阅读
在C#中,ref与out是很特殊的两个关键字。使用它们,可以使参数按照引用来传递。
总的来说,通常我们向方法中传递的是值.方法获得的是这些值的一个拷贝,然后使用这些拷贝,当方法运行完毕后,这些拷贝将被丢弃,而原来的值不将受到影响.此外我们还有其他向方法传递参数的形式,引用(ref)和输出(out).
有时,我们需要改变原来变量中的值,这时,我们可以向方法传递变量的引用,而不是变量的值.引用是一
转载
精选
2012-04-16 14:31:05
539阅读
方法参数上的 out 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。 当希望方法返回多个值时,声明 out 方法非常有用。使用 out 参数的方法仍然可以返回一个值。一个方法可以有一个以上的 out 参数。 若要使用 out 参数,必须将参数作为 out 参数显
原创
2021-08-01 15:29:07
452阅读
private void button1_Click(object sender, EventArgs e) { int a = 6; int b = 66; Fun(ref a,ref b); //把a的地址和b的地址 传递过去 MessageBox.Show(a....
转载
2018-02-27 15:13:00
99阅读
2评论
一个用关键字 ref 标示,一个用 out 标示。 牵扯到数据是引用类型还是值类型。 一般用这两个关键字你是想调用一个函数将某个值类型的数据通过一个函数后进行更改。传 out 定义的参数进去的时候这个参数在函数内部必须初始化。否则是不能进行编译的。ref 和 out 都是传递数据的地址,正因为传了地
转载
2019-11-12 22:16:00
130阅读
2评论
我们在写程序的时候经常看到 有out ref 作用和C++ &是一样的我们看一下 代码 这个代码 会输出 10 class Program { static void Main(string[] args) { int a =10; result( a); ...
原创
2023-03-01 09:24:44
71阅读
out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。例如:class OutExample{ static void Method(out int i) { i = 44; } static
转载
2022-03-02 16:15:51
52阅读
方法参数上的 out 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。 当希望方法返回多个值时,声明 out 方法非常有用。使用 out 参数的方法仍然可以返回一个值。一个方法可以有一个以上的 out 参数。 若要使用 out 参数,必须将参数作为 out 参数显式传递到方法。out 参数的值不会传递到 out 参数。 ...
转载
2007-12-06 16:27:00
115阅读
2评论
out的官方解释: out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。尽管作为 out 参数传递的变量不必在传递之...
原创
2022-01-11 15:59:04
303阅读
1、ref 参数必须初始化,out 不必。 int i; SomeMethod( ref i );//语法错误 SomeMethod( out i );//通过 2、因为ref需要初始化,所以ref 可以在函数内部使用, 而out未必初始化,所以不能在函数内部使用。 public void Some
原创
2022-03-16 17:48:43
115阅读
[csharp]using System;using System.Collections.Generic;using System.Text;namespace CSharp下ref及out关键字使用{ class Program { /*参数说明 * ref和
转载
2012-08-06 11:19:00
76阅读
2评论
方法参数上的 out 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。 当希望方法返回多个值时,声明 out 方法非常有用。使用 out 参数的方法仍然可以返回一个值。一个方法可以有一个以上的 out 参数。 若要使用 
转载
精选
2010-08-04 18:22:49
403阅读