zoukankan      html  css  js  c++  java
  • ref

    ref:  当控制权传递回调用方法时,在方法中对参数的任何更改都将反映在该变量中。      

    例如:

    class RefExample   

      {        

       //使用ref返回的函数        

        static void Method(ref int i)      

       {         

        i = 44;    

         }        

       //普通函数      

       static int Sum(int j)        

       {          

          j = j + 1;       

          return j;   

          }        

        static void Main()     

        {           

         //使用ref返回的函数         

           int val = 0;      

           Method(ref val);      //当控制权传递回调用方法时,在方法中对参数的任何更改都将反映在该变量中。      

           Console.WriteLine(val);//44         

         //Console.WriteLine(Method(ref val)); 错误:Method是无返回值(void)函数            

          //普通函数       

          int x = 0;       

          Sum(x);       

          Console.WriteLine(x);//0       

          Console.WriteLine(Sum(x)); //1            

          Console.ReadKey();                  

    }  

       }


    ref参数通俗解释:
    能够将一个变量带入一个方法中进行改变,改变完成后,再讲改变后的值带出方法。
    ref参数要求在方法外必须为其赋值,而方法内可以不赋值。

     练习

      class Program
        {
            static void Main(string[] args)
            {
                //使用方法来交换两个int类型的变量
                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)
            {
                int temp = n1;
                n1 = n2;
                n2 = temp;
            }
        }
    
  • 相关阅读:
    类似-Xms、-Xmn这些参数的含义:
    类似-Xms、-Xmn这些参数的含义:
    类似-Xms、-Xmn这些参数的含义:
    类似-Xms、-Xmn这些参数的含义:
    Java 虚拟机是如何判定两个 Java 类是相同的?
    Java 虚拟机是如何判定两个 Java 类是相同的?
    Java 虚拟机是如何判定两个 Java 类是相同的?
    Java 虚拟机是如何判定两个 Java 类是相同的?
    互联网支付系统整体架构详解
    DTO
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/6051095.html
Copyright © 2011-2022 走看看