zoukankan      html  css  js  c++  java
  • 14.ref参数

    什么是ref?

    ref关键字指示按引用传递的值,而非按值传递。

    如何做?

    如图,这是一个参数没被ref修饰的的交换两个int类型变量值的方法,通过结果可以明显的看出并没有交换成功。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Demo {
    
    
        class Program {
            static void Main(string[] args) {
                //ref参数要求在方法外必须为其赋值,而方法内可以不赋值。
                int n1 =10;
                int n2=20;
                Test(ref n1,ref n2);
    
                Console.WriteLine(n1);
                Console.WriteLine(n2);           
                Console.ReadKey();
               
            }
    
            public static void Test(ref int n1, ref int n2) {
                //ref参数要求在方法外必须为其赋值,而方法内可以不赋值。
                int temp = n1;
                n1 = n2;
                n2 = temp;
            }
            
        }
    }
    
    

    运行结果:

    上例代码,可以看出,在被ref修饰后,两个int类型的变量的值交换成功了。

    使用:
    在方法上用ref修饰形参,如:

    public static void Test(ref int n1, ref int n2) {
         //ref参数要求在方法外必须为其赋值,而方法内可以不赋值。
         int temp = n1;
         n1 = n2;
         n2 = temp;
    }
    

    在外部调用方法时,修饰实参,如:

    Test(ref n1,ref n2);
    
  • 相关阅读:
    【Python爬虫】:模拟登录QQ空间
    Docker
    Git
    DevOps
    DevOps
    gRPC 简介
    tcpdump的使用
    Raft
    go-micro 简介
    Node
  • 原文地址:https://www.cnblogs.com/lz32158/p/12824426.html
Copyright © 2011-2022 走看看