out参数

2016.12.12学的out参数

out参数的作用

  • 如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组。

  • 但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,我们可以考虑使用out参数。

  • out参数就侧重于在一个方法中可以返回多个不同类型的值。
  • 举个例子

static void Main(string[] args)
{
////写一个方法,求一个数组的最大值,最小值,总和,平均值
////声明一个数组并赋值,求这个数组的最大值,最小值,总和,平均值
//int[] nuber = {2, 4, 6, 8, 10 };
//int[]res= mmp(nuber);

        //Console.WriteLine("这个数组的最大值是{0},这个数组的最小值是{1},这个数组的总和是{2},这个数组的平均值是{3}",res[0],res[1],res[2],res[3]);
        ////Array.Sort(nuber);
        ////foreach (int i in nuber)
        ////{
        ////    Console.WriteLine(i);

        ////}
        #region
        Console.WriteLine("请输入用户名");
        string userName = Console.ReadLine();
        Console.WriteLine("请输入密码");
        string passWord=Console.ReadLine();
        string mas;
        bool b = Islogin.isLogin(userName, passWord, out mas);
        Console.WriteLine("登陆结果{0}", b); 
        Console.WriteLine(mas);
        Console.ReadKey();
        #endregion
    }
    //创建一个静态方法,返回值是int[]数组,参数是一个int[]数组
    //public static int []mmp(int []nums)
    //{
    //    //Array.Sort(nums);
    //    //创建一个数组来储存返回的最大值,最小值,总和,平均值
    //    int[] res = new int[4] ;
    //    //给这个数组赋值
    //    res[0] = nums[0];//假设num[0]是这个数组的最大值
    //    res[1] = nums[1];//假设num[0]是这个数组的最小值
    //    res[2] = 0;//给res[2]赋值为0,用来存储总和,计算这个数组的总和方法为res[2]+=nums[i];
    //    //用for语句来遍历这个数组的每一个元素,求出这个数组的最大值和最小值。
    //    for (int i = 0; i < nums.Length; i++)
    //    {
    //        if (nums[i] > res[0])//条件判断语句,如果nums[i]里面的i个元素的值比假定的res[0]还大,那么把这个值赋给res[0].
    //        {
    //            res[0] = nums[i];
    //        }
    //        if (nums[i] < res[1])//条件判断语句,如果nums[i],里面的i个元素的值比假定的res[0]还小,那么 把这值赋给他。
    //        {
    //            res[1] = nums[i];
    //        }
    //        res[2] += nums[i];
    //    }
    //    res[3] = res[2] / nums.Length;
    //    return res;

    //}

       public  class Islogin
{
    //分别提示用户输入用户名和密码
    //写一个方法来判断用户输入的用户名和密码是否正确
    //返回给用户一个登陆结果,并且还要返回一个登陆信息
    //如果用户名错误,除了返回登陆结果外还要返回一个“用户名错误”
    public static bool isLogin(string userName, string passWord, out string mas)
    {
        if(userName=="我是传奇"&&passWord=="123456")
        {
        
            mas = "恭喜你登陆成功";
            return true;
        }
        else if(userName=="我是传奇")
        {
           
            mas = "煞笔密码错了";
            

         }
        else if(passWord=="123456")
        {
            
            mas = "没找到这个用户";
           
        }
        else
        {
            mas = "未知错误";
           
        }

        return false;
    }



}
  • 返回值的类型可以是很多类型,目前知道的int,bool,string都可以,
  • 求平均值要在for循环外面,
  • 返回值是什么类型的,你在调用这个函数的时候,必须要有一个这样类型的变量来接受返回值。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容