默认计划
2376人加入学习
(4人评价)
【唐老狮】Unity基础课程之C#基础
价格 免费
承诺服务
该课程属于 Unity3d实战就业路线课程套餐
请加入后再学习

params 接数组

数组任意类型,实现传入n个参数

例如 static void k(params int [] a)

 

k(1, 2, 3);

函数参数中也可能有别的参数

函数参数中最多出现一个params关键字, 并且一定是在最后一组参数,前面可以有n个其他参数

[展开全文]

    internal class Program
    {
        static float[] CalaulateNormal(params float[] data)
        {
            float sum = 0;
            float avarage = 0;

            for (int i = 0; i < data.Length; i++)
            {
                sum += data[i];
            }
            avarage = sum / data.Length;

            return new float[] {sum, avarage};
        }

        static float[] CalculateDivision(params float[] data)
        {
            float sumOdd = 0;
            float sumEven = 0;
            for (int i = 0; i < data.Length; i++)
            {
                if (data[i] % 2 == 0)
                {
                    sumEven += data[i];
                }
                else
                {
                    sumOdd += data[i];
                }
            }

            return new float[] {sumOdd, sumEven};
        }

        static void Main(string[] args)
        {
            Random randomize = new Random();
            Console.WriteLine("请输入生成多少个数字:");
            int numOfNum = int.Parse(Console.ReadLine());

            float[] toCalculate = new float[numOfNum];

            for (int i = 0; i < toCalculate.Length; i++)
            {
                toCalculate[i] = randomize.Next(1000);
                Console.Write(toCalculate[i]+" ");
            }

            float[] A_result = CalaulateNormal(toCalculate);
            float[] A_resultOddAndEven = CalculateDivision(toCalculate);

            Console.WriteLine("和为" + A_result[0] + ",平均数为" + A_result[1]);
            Console.WriteLine("奇数和为" + A_resultOddAndEven[0] + ",偶数和为" + A_resultOddAndEven[1]);

        }
    }

[展开全文]

        //举例  函数要计算 n个整数的和
        //static int Sum(int a, int b,..........)

        //变长参数关键字 params

        //params int[] 意味着可以传入n个int参数 n可以等于0  传入的参数会存在arr数组中
        // 注意:
        //1.params关键字后面必为数组
        //2.数组的类型可以是任意的类型
        //3.函数参数可以有 别的参数和 params关键字修饰的参数
        //4.函数参数中只能最多出现一个params关键字 并且一定是在最后一组参数 前面可以有n个其它参数

 

    #region 知识点三 参数默认值
        //有参数默认值的参数 一般称为可选参数
        //作用是 当调用函数时可以不传入参数,不传就会使用默认值作为参数的值


        //注意:
        //1.支持多参数默认值 每个参数都可以有默认值
        //2.如果要混用 可选参数 必须写在 普通参数后面

        //总结
        // 1 变长参数关键字 params
        // 作用: 可以传入n个同类型参数   n可以是0
        // 注意:
        // 1. params后面必须是数组 意味着只能是同一类型的可变参数
        // 2. 变长参数只能有一个
        // 3. 必须在所有参数最后写变长参数 

        // 2 参数默认值(可选参数)
        // 作用:可以给参数默认值 使用时可以不传参 不传用默认的 传了用传的
        // 注意:
        // 1. 可选参数可以有多个
        // 2. 正常参数比写在可选参数前面,可选参数只能写在所有参数的后面

[展开全文]

变长参数关键词

params int[] arr

//注意:
//1.params关键字后面必为数组

//2.数组的类型可以是任意的类型


//3.函数参数可以有别的参数和params关键字修饰的参数


//4.函数参数中只能最多出现一个params关键字并且一定是在最后一组参数前面可以有n个其它参数
 

/*********************************************/

参数默认值(可选参数)

//有参数默认值的参数—般称为可选参数
//作用是当调用函数时可以不传入参数,不传就会使用默认值作为参数的值


//注意:
//1.支持多参数默认值每个参数都可以有默认值

//2.如果要混用可选参数必须写在普通参数后面
 

[展开全文]

static int Sum(params int[] arr)params表示变长参数,后面必须接数组,参数数可以是0个。函数参数中最多只能有一个params,并且只能是最后一组参数,前面还可以有n个其他参数

 

有默认值的参数都要写在普通参数后面

[展开全文]

变长参数params,可以直接在调用时输入变量用,隔开

只能声明在最后

参数默认值,默认参数的后面不可有无默认值的参数

[展开全文]

## 一、函数语法复习

1. 静态关键词 可选 目前对于我们来说必须写

2. 返回值 没有返回值填void 可以填写任意类型的变量

3. 函数名 帕斯卡命名法

4. 参数可以是0~n个,前面可以加ref out用来传递想要在内部改变内容的变量

5. 如果返回值不是void,那么必须有return对应类型的内容,return可以打断函数语句块中的逻辑,直接停止后面的逻辑

 

## 二、 变长参数关键词

变长参数关键字 params

static int Sum(params int[arr]){}

Sun(1,2,3,4,5)

 

注意⚠️

1. params关键词后面必为数组

2. 数组的类型可以是任意类型

3. 函数参数可以有 别的参数和params关键词修饰的参数

4.函数参数中只能最多出现一个params关键词,并且一定是在最后一组参数 前面可以有n个其他参数

 

## 三、参数默认值

有参数默认值的参数 一般称为可选参数 作用是:当调用函数时可以不传入参数,不传就会使用默认值作为参数的值

注意⚠️

1. 支持多参数默认值 每个参数都可以有默认值

2. 如果要混用 可选参数 必须写在普通参数后面

 

static int Speak(string str = "test"){}

Speak();

 

## 练习题

### 1

使用param参数,求多个数字的和以及平均数

```

static int SumSuper(params int[] nums)
        {
            int sum = 0;
            for (int i = 0; i < nums.Length; i++)
            {
                sum += nums[i];
            }
            return sum;
        }

```

### 2

使用param参数,求多个数字的偶数和奇数和

```

static int[] SumSuper2(params int[] nums)
        {
            int sum1 = 0;
            int sum2 = 0;
            for (int i = 0; i < nums.Length; i++)
            {
                if (nums[i] % 2 == 0)
                {
                    sum1 += nums[i];
                }
                else
                {
                    sum2 += nums[i];
                }
            }
            return new int[] { sum1, sum2};
        }

```

 

[展开全文]

变长参数关键字 params

 例如 static int Sum(params int[] arr)

params关键字后面必为数组

数组的类型可以是任意的类型

函数参数中只能最多出现一个params关键字,并且是在最后一组参数,前面可以有其他n个参数

 

参数默认值

有参数默认值的参数,一般称为可选参数

当调用函数时可以不传入参数,不传入就会使用默认值作为参数的值,传了参数就用传的

可选参数可以有多个

如果要混用可选参数,必须写在普通参数后面

[展开全文]

授课教师

游戏开发前端主程

课程特色

视频(42)
下载资料(37)

学员动态

Ace_Li 加入学习
疏楼君子 加入学习
zys_zys 加入学习
Eli2077 加入学习
牙白人 加入学习