`
wsql
  • 浏览: 11797479 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

C#方法参数传递-引用参数ref关键字

 
阅读更多

引用传递好比你把文件在网络上的地址告诉他人,他人通过网络访问你计算机的文件,他可以对文件进行修改并保存,此时,文件的内容就会发生变化。引用传递在方法调用之后,可以保留参数值的修改。要实现引用传递,C#通过ref关键字和out关键字来实现。

引用参数(Reference Parameter )
格式:方法名称(ref 参数类型 参数名称[,ref 参数类型 参数名称])

ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。

using System;
class Program
{
static void Main(string[]args)
{
int num1 = 4;
int num2 = 8;
Console.WriteLine("交换之前的字符串顺序为{0}、{1}", num1, num2);
Program obj = new Program(); //创建对象
obj.Change(ref num1, ref num2); //调用交换方法
Console.WriteLine("交换之后的字符串顺序为{0}、{1}", num1, num2);
Console.ReadLine();

}
//交换数据的方法
private void Change(ref int num1, ref int num2)
{
int temp;
temp = num1;
num1 = num2;
num2 = temp;

}
}

注意:使用引用传递时,在方法定义中使用ref关键字修饰参数,在方法调用中也必须使用ref关键字。而且必须在调用方法之前对传递的参数进行初始化。

分享到:
评论

相关推荐

    nnngu#LearningNotes#008 如何用java语言实现C Sharp中的ref关键字(按引用传递参数)的效果1

    先看一下微软的C#文档对按引用传递的定义(如下截图):

    理解C#中参数的值和引用以及传递结构和类引用的区别

    若要通过引用传递参数,请使用 ref 或 out 关键字。 下面的示例阐释值与引用参数之间的区别: class Program { static void Main(string[] args) { int arg; // Passing by value. // The value of arg in ...

    C# ref和out的区别

    在C# 中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员更改参数的值,并保持该更改。若要通过引用传递参数, 可使用ref或out关键字。ref和out这两个关键字都能够提供相似的功效,其作用也很像...

    C#中的值传递和引用传递详细解析

    如果希望所调用的方法更改参数的值,必须使用 ref 或 out 关键字通过引用传递该参数。为了简单起见,下面的示例使用 ref。 1. 通过值传递值类型: 代码如下:class PassingValByVal{static void Squar

    C#中按引用传递与按值传递的区别,以及ref与out关键字的用法详解

    代码如下:/给三个整数从小到大排序并求和及其平均值//其中,三个待求整数及其排序的结果由引用参数传递;其和由输出参数传递;平均值由返回值返回。//在Main()方法中实现三个待求整数的输入及结果的输出//目的:定义...

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

    C#中ref,out和params有什么区别...out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字

    C#中ref和out的区别浅析

     ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。  out 关键字会导致...

    c#基础系列之ref和out的深入理解

    本文中说的Ref和Out都是引用传递,Ref的重点是把值传给调用方法,Out则是得到调用方法的值,类似于有返回类型的方法返回的值; 在使用两者时一定要注意一下两点,否则编译出现错误 a) ref 变量使用前要先声明同时要...

    C#程序设计复习题.doc

    5、使用ref关键字和out关键字都是通过引用传递参数,不同的是ref方式要求实参必须 在传递之前进行__________。而采用out方式时不要求在调用方法前对实参进行____ ______。 6、静态方法只能访问类中的 ________ 字段...

    C#中的in参数与性能分析详解

    ref 修饰符,指定参数由引用传递,可以由调用方法读取或写入。 out 修饰符,指定参数由引用传递,必须由调用方法写入。 in 修饰符,指定参数由引用传递,可以由调用方法读取,但不可以写入。 举个简单的例子: ...

    C#编程中使用ref和out关键字来传递数组对象的用法

    主要介绍了C#编程中使用ref和out关键字来传递数组对象的用法,在C#中数组也是对象可以被传递,需要的朋友可以参考下

    C# 7.0之ref locals and returns(局部变量和引用返回)

    首先我们知道ref关键字是将值传递变为引用传递,那么我们先来看看ref locals(ref局部变量) 列子代码如下: static void Main(string[] args) { int x = 3; ref int x1 = ref x; //注意这里,我们通过ref关键字 把x...

    在一小时内学会 C#(txt版本)

    在一小时内学会 C#。使用例程,简单却完整的探索 C# 语言的构造和特点。本文特别适合有 C++ 基础却没有太多精力学习 C# 的读者。 关于作者 Aisha Ikram 我现在在英国一家软件公司任技术带头人。我是计算机科学的...

    关于C#与out的区别.doc

    ref和out的区别在C# 中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员更改参数的值,并保持该更改。若要通过引用传递参数, 可使用ref或out关键字。

    c#学习笔记.txt

    如果没有ref,out则默认为值传递,虽然可以在方法中修改这个参数的值,但是修改后的值不会还会到调用该方法的程序中. params :params 关键字可以指定在参数数目可变处采用参数的方法参数 ref :引用传递 out : 7, ...

    轻松学C#(图解版)

    4.4.2 引用参数(ref参数) 59 4.4.3 输出参数(out参数) 61 4.5 特殊的方法 62 4.5.1 Main()方法 62 4.5.2 构造函数 62 4.5.3 带参数的构造函数 63 4.5.4 析构函数 64 4.6 小结 65 4.7 习题 65 第5章 流程控制 69...

    Visual C#2010 从入门到精通(Visual.C#.2010.Step.By.Step).完整去密码锁定版 I部分

    3.4.2 传递命名参数 58 3.4.3 消除可选参数和命名参数的歧义 59 第3章快速参考 63 第4章 使用决策语句 65 4.1 声明布尔变量 65 4.2 使用布尔操作符 66 4.2.1 理解相等和关系操作符 66 4.2.2 理解条件逻辑操作...

    ref与out之间的区别深入解析

    ref和out都是C#中的关键字,所实现的功能也差不多,都是指定一个参数按照引用传递。对于编译后的程序而言,它们之间没有任何区别,也就是说它们只有语法区别。总结起来,他们有如下语法区别: 1、ref传进去的参数...

Global site tag (gtag.js) - Google Analytics