分享

8-2undefined方法的声明及调用(2)

 工厂应用 2019-08-20
  
 

关键字params 指定一个可变的数组了,测试证明有没有params都可正常运行
值传递和引用传递的区别
关键字out输出多个返回值


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _8_2_方法的声明及调用_2_
{
    class Program
    {
        //编写一个方法用于计算给定整形数组元素的和
        static int add(params int[] nums)
        {
            int sum = 0;
            foreach (var outnum in nums)
            {
                sum += outnum;
            }
            return sum;
        }
        //编写一个方法用于平方(没有返回值)
        //此时的参数传递叫做值传递
        static void square (int num)
        {
            num *= num;
            Console.WriteLine("num的平方:"+num);
        }
        //此时的参数传递叫做引用传递,会改变参数值,并返回
        static void squareref (ref int num)
        {
            num *= num;
            Console.WriteLine("num的平方:" + num);
        }
        //编写一个方法,求出数组中最大的值进行返回,并返回最大值的一个索引
        static int maxnum(int[] nums,out int maxnumindex)
        {
            int maxnum = nums[0];
            maxnumindex = 0;
            for (int i = 0; i < nums.Length; i++)
            {
                if (maxnum<nums[i])
                {
                    maxnum = nums[i];
                    maxnumindex = i;
                }
            }
            return maxnum;
        }

        static void Main( string[] args)
        {
            //测试params关键字
            int[] myaddarray = { 2, 3, 4, 6, 8, 9, 334 };
            Console.WriteLine(add(myaddarray));
            //值传递和引用传递的区别
            Console.WriteLine("值传递");
            int num = 10;
            Console.WriteLine(num);
            square(num);
            Console.WriteLine(num);

            Console.WriteLine("引用传递");
            Console.WriteLine(num);
            squareref(ref num);
            Console.WriteLine(num);
            //
            int[] mymaxarray = { 12, 34, 547, 78967, 434, 78, 324, 987968, 234 };
            int maxnumindex;
            Console.WriteLine("此数组最大值是{0},最大值的索引是{1}",maxnum(mymaxarray,out maxnumindex),maxnumindex);

            Console.ReadKey();   
        }
    }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多