C#函数返回值。

一、params.

  可变参数,无论有几个参数,必须出现在参数列表的最后,可以为可变参数直接传递一个对应类型的数组。

class Program
    {
        static void Main(string[] args)
        {
            Test("msg");
            Test("msg", 1, 2, 3);
            int[] intArry = new int[] { 1, 2, 3 };
            Test("msg", intArry);

        }
        static void Test(string msg,params int[] args)
        {

        }
    }

二、ref

  引用传递

三、out

  out 参数在使用之前必须在方法里为out参数赋值。

  out参数无法获取实参传来的值。所以在主函数 中,只需声明函数就行。它也是引用。

  out一般用在函数有多个返回值。

  参数前加ref out 不能算重载。

 class Program
{
static void Main(string[] args)
{
Test(out int x);
Console.WriteLine(x);
}
static void Test(out int x)
{
x = 100;
}
}

out 实例:

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("输入用户名");
            string id = Console.ReadLine();
            Console.WriteLine("输入密码");
            string psw = Console.ReadLine();
            bool isok=Login(id, psw, out string msg);
            if (isok)
            {
                Console.WriteLine(msg);
            }
            else
            {
                Console.WriteLine(msg);
            }

        }

        private static bool Login(string id, string psw, out string msg)
        {
            bool isok = false;
            if (id!="admin")
            {
                msg = "用户名错误";
            }
            if (psw!="123")
            {
                msg = "密码错误";
            }
            else
            {
                isok = true;
                msg = "登录成功";
            }
            return isok ;
        }
    }