ref关键字用于将方法内的变量改变后带出方法外。具体我们通过例子来说明:

例子中,将变量n1和n2交换了。如果没有加ref参数,由于没有swadDemo()方法没有返回值,调用后,n1和n2是不会交换的,但是加了ref后,变量便会在swadDemo()中改变后并带出。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace blog
{
class Program
{
static void Main(string[] args)
{ refDemo();
}
#region 使用高级参数ref
private static void refDemo()
{
int n1 = ;
int n2 = ;
swadDemo(ref n1, ref n2);
Console.WriteLine("n1:" + n1 + "\r\n" + "n2:" + n2);
Console.ReadLine();
}
#endregion #region 高级参数ref用法
public static void swadDemo(ref int a, ref int b)
{ //注意,这个方法中,并没有返回值。但是,由于加了ref,
//所以会将变量改变后再带出。
//ref参数,用于将方法内的变量改变后带出方法外
int temp;
temp = a;
a = b;
b = temp;
}
#endregion
}
}

C#高级参数ref的使用的更多相关文章

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

    c#的三个高级参数ref out 和Params 前言:在我们学习c#基础的时候,我们会学习到c#的三个高级的参数,分别是out .ref 和Params,在这里我们来分别的讲解一下,在这里的我们先不 ...

  2. 浅谈c#的三个高级参数ref out 和Params C#中is与as的区别分析 “登陆”与“登录”有何区别 经典SQL语句大全(绝对的经典)

    浅谈c#的三个高级参数ref out 和Params   c#的三个高级参数ref out 和Params 前言:在我们学习c#基础的时候,我们会学习到c#的三个高级的参数,分别是out .ref 和 ...

  3. C# 中的三个高级参数 ref

    今天在浏览博文时,看到这篇文章:C#中的ref 传进出的到底是什么 ? 在传对象时使用ref的疑问 引用类型就传的就是地址,值类型传的就是值,可是还仍有那么多人迷惑,网上虽然流传着很多ref 的相关文 ...

  4. C#高级参数out,ref,params

    在C#中通过使用方法来获取返回值时,通常只能得到一个返回值.因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢? out 当需要返回一系列返回值时可用out高级 ...

  5. springMVC第二天——高级参数绑定与其它特性

    大纲摘要: 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 2.@RequestMapping注解的使用 3.Controller方法返回值 4.Springmvc中异常处理 5 ...

  6. C#高级参数out的使用

    C#中有三个高级参数,分别是out,ref,params.本文章中先来介绍out参数的使用. out,用于在方法中返回多余值.(可以理解为让一个方法返回不同的类型值) 我们通过例子来理解例子的功能:用 ...

  7. C#方法中参数ref和out的解析

    一.C#方法中参数类型 有4种参数类型,有时候很难记住它们的不同特征,下图对它们做一个总结,使之更容易比较和对照. 二.C#方法中的参数 1.值参数 使用值参数,通过复制实参的值到形参的方式把数据传递 ...

  8. C#中的out参数/ref参数/params可变参数

    out参数: out关键字 通过引用来传递参数,在定义方法和调用方法的时候都必须使用out关键字 简单来讲out可以用来返回多个参数类型. static void Main(string[] args ...

  9. SpringMVC学习笔记之二(SpringMVC高级参数绑定)

    一.高级参数绑定 1.1 绑定数组 需求:在商品列表页面选中多个商品,然后删除. 需求分析:功能要求商品列表页面中的每个商品前有一个checkbok,选中多个商品后点击删除按钮把商品id传递给Cont ...

随机推荐

  1. C语言求最小公倍数和最大公约数三种算法

    最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求 ...

  2. nova cell配置

    Configuration option = Default value Description [cells] call_timeout = 60 (IntOpt) Seconds to wait ...

  3. 解决 Amoeba连接mysql出错 解决方案

    今天配置mysql的主从复制 用到了Amoeba.从安装到启动服务,我深深地体会到学运维的不易. 首先是  安装错误  的解决,连接错误  的兄弟可以直接往下拉. 安装错误 1.出现 JAVA_HOM ...

  4. Spring3.2.9 + JdbcTemplate 事务

    XML新增声明式事务配置 <!-- 事务管理器 --> <bean id="transactionManager" class="org.springf ...

  5. 【JAVA XXE攻击】微信支付官方回应XML外部实体注入漏洞

    官方回应连接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_5 其中明确指出了代码修改的地方. 然后看到此文档后,我就改公司项 ...

  6. 原生js模态框实现

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  7. Oracle常见的33个等待事件

    Buffer busy waits 原因:        当一个会话试图修改一个数据块,但这个数据块正在被另一个会话修改时.        当一个会话需要读取一个数据块,但这个数据块正在被另一个会话读 ...

  8. 25 python socket网络编程

    一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务端为你提供视频 ...

  9. java web工程启动socket服务

    1.新建web工程 2.自定义类 实现ServletContextListener 接口 在contextInitialized方法中启动socket服务的线程 在contextDestroyed方法 ...

  10. HDU2665Kth number (主席树+离散)

    Give you a sequence and ask you the kth big number of a inteval. InputThe first line is the number o ...