参数修饰符 params、 out、ref

/// <summary>
/// 参数修饰符 params、 out、ref
/// </summary>
using System;

namespace ConDemo
{
    class MainClass
    {
        static double Average(params double[] values)
        {
            double average = 0;
            foreach (var item in values) {
                average+=item;
            }
            average = average / values.Length;
            return average;
        }

        public static void Add(int x, int y, out int ans)
        {
            ans = x + y;
        }

        static void switchIt(ref int x1, ref int x2)
        {
            int x = x1;
            x1 = x2;
            x2 = x;
        }

        /// <summary>
        
/// The entry point of the program, where the program control starts and ends.
        
/// </summary>
        
/// <param name="args">The command-line arguments.</param>
        public static void Main (string[] args)
        {
            Console.WriteLine (Environment.Version);    //4.0.30319.1
            int ans = 0;
            Add (56,  out ans);            //out parameters
            Console.WriteLine (ans);                                            //11
            int x = 3, y = 4;
            switchIt (ref x, ref y);            //ref parameters
            Console.WriteLine ("x={0},y={1}", x, y);            //x=4,y=3
            Console.WriteLine ("{0}", Average (3.0,4.0,5.0));//4

            int i=99;
            object obj = i;                    //box
            obj = 8888;                            //box,  with strong Type!
            Console.WriteLine("i={0}",i);//i=99
            string s = "hello,world.";
            object objs = s;                    //with strong Type!
            objs = "Bonjour!";
            Console.WriteLine(s);    //hello,world.
            Console.ReadKey();
            Console.ReadKey ();
        }
    }
}
原文地址:https://www.cnblogs.com/flaaash/p/3070801.html