一.什么是数组型参数
数组型参数就是C#方法之间进行参数传递的类型为数组。
二.数组型参数的划分
数组型参数的两种形式划分:
params
修饰符- 不带
params
修饰符
带params修饰符的参数传递只能传递普通数组,什么意思呢,也就是它的实参只能为一个数组名,而且是已经初始化好的数组名。相反,不带params修饰符的参数传递的能把数组列表直接传过去。
- 带params修饰符的就是这样传列表,注意括号。
- 不带params修饰符就是这样直接带数组名调用。
形参部分也要注意带上修饰符!!!
源代码:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace 实例4_7 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } class MaxMin { //求最大数的索引,只能把数组名传过来 public int Max(int [] numbers) { int k = 0; for(int i = 0; i < numbers.Length; i++) { //打擂台算法 if (numbers[k] < numbers[i]) k = i; } return numbers[k]; } //求最小数的索引,带有params,所以可以直接把数据列表传过去 public int Min(params int [] numbers) { int k = 0; for (int i = 0; i < numbers.Length; i++) { //打擂台算法 if (numbers[k] >numbers[i]) k = i; } return numbers[k]; } } private void btnOK_Click(object sender, EventArgs e) { MaxMin m = new MaxMin(); int[] a = new int[] { 4, 7, 1, 3, 2, 8, 6, 5 }; int max = m.Max(a); txtMax.Text = max.ToString(); max = m.Min(4, 7, 1, 3, 2, 8, 6, 5); txtMaxP.Text = max.ToString(); } } }