`
javatome
  • 浏览: 824527 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

c#值传递和引用传递,以及ref和out关键字的区别

 
阅读更多

向一个方法中传递参数,有两种类型,一种是按值传递,一种是按引用传递

按值传递时,方法对参数的改变不会影响原来变量的值

按引用传递时,方法对参数的改变会同时改变原有变量的值

ref和out关键字会强制将值类型变量,按照引用类型传递

ref和out区别:使用ref必须对变量进行初始化,而使用out关键字时候,需要传递的变量不需要进行初始化

分享到:
评论

相关推荐

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

    以下是对C#中按引用传递与按值传递的区别,以及ref与out关键字的用法进行了详细的分析介绍,需要的朋友可以过来参考下

    C# ref和out的区别

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

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

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

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

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

    C#中ref和out的区别浅析

    因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢? MSDN:  ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该...

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

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

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

    在上篇文章深入理解值类型和引用类型的时候,有的小伙伴就推荐说一说ref和out 关键字,昨天晚上彻夜难眠在想是否要谈一下呢,因为可谈的不是太多,也可能是我理解的不够深刻。 C#有两种参数传递方式:传值和引用,...

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

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

    关于C#与out的区别.doc

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

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

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

    C#程序设计复习题.doc

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

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

    和 C++ 有所区别的是,C# 中没有单独的声明(头)和实现(CPP)文件。所有代码(类声明和实现)都放在扩展名为 cs 的单一文件中。 看看 C# 中的 Hello World 程序。 复制内容到剪贴板 代码: using System; ...

    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...

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

    它类似于 ref 或 out 关键字,不同之处在于 in 参数无法通过调用的方法进行修改。 ref 修饰符,指定参数由引用传递,可以由调用方法读取或写入。 out 修饰符,指定参数由引用传递,必须由调用方法写入。 in 修饰...

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

    第8章 理解值和引用 135 8.1 复制值类型的变量和类 135 8.2 理解null值和可空类型 139 8.2.1 使用可空类型 140 8.2.2 理解可为空类型的属性 141 8.3 使用ref和out参数 142 8.3.1 创建ref参数 142 8.3.2 创建...

    C# for CSDN 乱七八糟的看不懂

    C#(WINFORM)学习 一、 C#基础 基础 类型和变量 类型和变量 类型 C# 支持两种类型:“值类型”和“引用类型”。值类型包括简单类型(如 char、int 和 float 等)、枚举类型和结构类型。引用类型包括类 (Class)类 ...

    【。net 专业】 面试题

    5.值类型和引用类型的区别?写出C#的样例代码。 答:结构是值类型,类是引用类型,所以传结构就是值类型的应用啦,传对象或类就是引用类型的,这个不用多写了吧. 6.ADO.net中常用的对象有哪些?分别描述一下。 答:...

Global site tag (gtag.js) - Google Analytics