zoukankan      html  css  js  c++  java
  • c# ref与out的区别

    相同点:都是输出参数

    不同点:

    ref:

    1、必须初始化,即:必须赋初始值;

    2.有进有出;

    3、用在需要被调用的方法修改调用者的引用的时候。

    4、是传递参数的地址

    out:

    1.不需要初始化,即:不需要赋初始值;

    2、只出不进;

    3、用在需要retrun多个返回值的地方;

    4、返回值;

    通过代码更直观的看出它们的区别:

    class Program
        {
            static void Main(string[] args)
            {
              //num1,num2,必须赋值
                int num1 = 10;
                int num2 = 5;
                Exchage(ref num1,ref num2);//调用方法,必须在变量前,必须加ref关键字
             
            }
      /// <summary>
            /// 使用ref方法,参数必须加ref关键字
            /// </summary>
            /// <param name="num1"></param>
            /// <param name="num2"></param>
            private static void Exchage(ref int num1,ref int num2)
            {
                //交换前
                    Console.WriteLine("num1的值:{0};num2的值:{1}", num1, num2);
                    int temp = num1;
                    num1 = num2;
                    num2 = temp;
                    //交换后
                    Console.WriteLine("num1的值:{0};num2的值:{1}", num1, num2);
                    Console.ReadKey();
            }
    class Program
        {
            static void Main(string[] args)
            {
            int sum;//不需赋值,即使赋值,也会被覆盖
                NumSum(10,5,out sum);
                Console.Write(sum);
                Console.ReadKey();
            }
       /// <summary>
            /// 求和
            /// </summary>
            /// <param name="num1"></param>
            /// <param name="num2"></param>
            /// <param name="sum"></param>
            private static void NumSum(int num1,int num2,out int sum)
            {
                sum = num1 + num2;
     
            }
    }
  • 相关阅读:
    hdu 4002 Find the maximum
    hdu 2837 坑题。
    hdu 3123
    zoj Treasure Hunt IV
    hdu 2053 Switch Game 水题一枚,鉴定完毕
    poj 1430 Binary Stirling Numbers
    hdu 3037 Saving Beans
    hdu 3944 dp?
    南阳oj 求N!的二进制表示最低位的1的位置(从右向左数)。
    fzu 2171 防守阵地 II
  • 原文地址:https://www.cnblogs.com/liangss/p/5143434.html
Copyright © 2011-2022 走看看