函数
foreach( 对集合每个元素的引用 in 集合 )
{
}
int[] a = new int[5]{1,2,3,4,5};
foreach( int b in a )
{
//b就是a中的每个元素
}
注意:
1.foreach只能对集合进行遍历。
2.foreach在操作集合的时候,只能读不能改。
3.foreach操作Dictionary<T,T>
Dictionary<string,string> dic = new Dictionary<string,string>();
//...添加值
foreach( KeyValuePare<string,string> b in dic)
{
}
4.foreach操作List<T>
List<int> list = new List<int>();
//添加值
foreach( int b in list )
{
}
5.foreach能够操作IEnumarable(IEnumarator)下的子级集合。
函数:
主要的功能就是为了让代码结构更加良好。
函数是——实现相对独立功能的程序代码模块(程序段).
函数的四要素:函数名,输入,输出,运算
有的函数没有输入,函数名后的小括号中可以不写东西,但必须要有小括号。
有的函数没有返回,在函数名的左侧不要写数据类型了,写void即可.
定义语法:
static 返回类型 函数名(形参列表)
{
函数体,运算
}
static int Max(int a,int b)
{
if(a>b)
{
return a;
}
else
{
return b;
}
}
调用语法:
数据类型 变量名 = 函数名(实参列表);
int n = Max(7,8);
形参与实参一定要一一对应(个数,类型)
传值
把实参的数据做个复本,送到函数的形参中去。
一般基本类型(int,double,char,bool,DateTime)都是值类型,他们默认情况下会传值。
传址
把实参的地址传组函数的形参中去。形参与实参共用同一个数据空间。
一般引用类型都是传地址的。
青歌赛打分:
static void Main1(string[] args)
{
int[] a = new int[10];
int max = 0, min = 1000, sum = 0;
//输入
a = ShuRu(a);
//查找
max = Max(a);
min = Min(a);
sum = Sum(a);
//输出
ShuChu(a, max, min, sum);
}
static int[] ShuRu(int[] a)
{
for (int i = 0; i < 10; i++)
{
Console.Write("第{0}位评委打分:", i + 1);
a[i] = Convert.ToInt32(Console.ReadLine());
}
return a;
}
static int Max(int[] a)
{
int zd = 0;
foreach (int b in a)
{
if (b > zd)
{ zd = b; }
}
return zd;
}
static int Min(int[] a)
{
int zx = 1000;
foreach (int b in a)
{
if (b < zx)
{ zx = b; }
}
return zx;
}
static int Sum(int[] a)
{
int zf = 0;
foreach (int b in a)
{
zf = zf + b;
}
return zf; ;
}
static void ShuChu(int[] a, int max, int min, int sum)
{
double avg = 1.0 * (sum - max - min) / 8;
Console.WriteLine("去掉一个最高分{0},去掉一个最低分{1},这位选手的平均分为{2}", max, min, avg);
}