out参数

作者: a04a42f99657 | 来源:发表于2016-12-13 00:00 被阅读15次

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循环外面,
  • 返回值是什么类型的,你在调用这个函数的时候,必须要有一个这样类型的变量来接受返回值。

相关文章

  • 17.03.12 .Net基础(三)

    out参数 out参数侧重于在函数中返回多个值 out参数要求必须在方法的内部为其赋值 ref参数 ref参数侧重...

  • out参数

    2016.12.12学的out参数 out参数的作用 如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回...

  • C# ref & out

    1. What is ref & out ? 参数传递时按引用传递参数 2.Why need ref & out ...

  • ref 和 out

    ref:如果有ref修饰的参数那么该参数需要在传递之前初始化。 out:如果有out修饰的参数,那么该参数可以不需...

  • 参数的 in out in/out 修饰

    知识点 in out in/out IN 一个函数,默认情况下,参数是 in 类型,即传入参数,以C# 中的方法为...

  • C# 关于ref 和out的区别

    ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后...

  • Out And Ref

    在C#中Out和Ref使用方法基本一样。Out使用时其实参数可以不赋值,在使用时在实参数前面加上Out,如下:Ou...

  • C# 7.0 的新特性

    Out 变量(Out variables)在之前的 C# 版本中,使用 out 参数并不像我们期盼的那样流畅。在你...

  • Android杂谈:编译环境参数是从哪里来的?

    Android源码编译有很多全局的参数,例如TARGET_OUT_DATA,TARGET_OUT_ROOT ,这些...

  • python调用c#带out参数的函数

    c#的函数支持out参数,可以这样写: void function(out string param1); 调用时...

网友评论

      本文标题:out参数

      本文链接:https://www.haomeiwen.com/subject/yojvmttx.html