• c#基础2-out-ref


      //out参数要求在方法的内部

    1 double salary1 = 5000;
    2             JiangJin(ref salary1);
    3             Console.WriteLine(salary1);//5500
    4             Console.ReadKey();
    View Code

    必须为其赋值

    out、ref、params
    1)、out参数。
    如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组。
    但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,
    我们可以考虑使用out参数。
    out参数就侧重于在一个方法中可以返回多个不同类型的值。

     1  /// <summary>
     2         /// 计算一个整数数组的最大值、最小值、平均值、总和
     3         /// </summary>
     4         /// <param name="nums">要求值得数组</param>
     5         /// <param name="max">多余返回的最大值</param>
     6         /// <param name="min">多余返回的最小值</param>
     7         /// <param name="sum">多余返回的总和</param>
     8         /// <param name="avg">多余返回的平均值</param>
     9         public static void Test(int[] nums, out int max, out int min, out int sum, out int avg, out bool b, out string s, out double d)
    10         {
    11             //out参数要求在方法的内部必须为其赋值
    12             max = nums[0];
    13             min = nums[0];
    14             sum = 0;
    15             for (int i = 0; i < nums.Length; i++)
    16             {
    17                 if (nums[i] > max)
    18                 {
    19                     max = nums[i];
    20                 }
    21                 if (nums[i] < min)
    22                 {
    23                     min = nums[i];
    24                 }
    25                 sum += nums[i];
    26             }
    27             avg = sum / nums.Length;
    28 
    29 
    30             b = true;
    31             s = "123";
    32             d = 3.13;
    33         }
    View Code

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

     1  public static void JiangJin(ref double s)
     2         {
     3             s += 500;
     4 
     5         }
     6 
     7 double salary1 = 5000;
     8             JiangJin(ref salary1);
     9             Console.WriteLine(salary1);
    10             Console.ReadKey();
    View Code

    3)、params可变参数
    将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理。
    params可变参数必须是形参列表中的最后一个元素。

    public static void Test(string name, int id, params int[] score)
            {
                int sum = 0;
    
                for (int i = 0; i < score.Length; i++)
                {
                    sum += score[i];
                }
                Console.WriteLine("{0}这次考试的总成绩是{1},学号是{2}", name, sum, id);
            }
    
     int[] s = { 99, 88, 77 };
                Test("张三", 99, 100, 100, 100);
                Console.ReadKey();
    View Code
  • 相关阅读:
    js中serialize() 序列化表单时自动url编码
    Oracle账户被锁解决:ora-28000:the account is locked
    jvm(二)------各个运行时数据库常见内存溢出分析与模拟
    解决 maven构建的web项目无法在外部Tomcat中运行的问题
    java源码分析之LinkedList(转)
    ArrayList源码剖析
    详解Swing中JTree组件的功能
    java 制作QQ登录界面
    java 类与类之间的关系 及uml图
    java 限定控制台输入值的类型
  • 原文地址:https://www.cnblogs.com/liuweiqiang11188/p/6676607.html
Copyright © 2020-2023  润新知