2016-04-25

一.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》 //哈希表只能用foreach去遍历。

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)下的子级集合。

6.foreach使用范围较小,不能取代for

2.函数:

主要的功能就是为了让代码结构更加良好。

函数是——实现相对独立功能的程序代码模块(程序段).

函数的四要素:函数名,输入,输出,运算

有的函数没有输入,函数名后的小括号中可以不写东西,但必须要有小括号。

有的函数没有返回,在函数名的左侧不要写数据类型了,写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)都是值类型,他们默认情况下会传值。

传址

把实参的地址传组函数的形参中去。形参与实参共用同一个数据空间。

一般引用类型都是传地址的。

1.青歌赛打分:

namespace ConsoleApplication1
{
class Class2
{
static void Main(string[] arge)
{
//青歌赛打分,10个评委,最大值,最小值,去掉最高分和最低分的平均分
int []a=new int [];
int max = , min = , sum = ;
//输入
//运算
a = shuru(a);
max =Max(a );
min=Min (a);
sum = Sum(a); //输出
shuchu(a, max, min, sum);
}
static void shuchu(int[] a,int max,int min,int sum)
{
double avg = 1.0*(sum - max - min) / (a.Length - );
Console.WriteLine("最高分是{0}\t 最低分是{1}\t平均分{2}",max,min,avg);
}
static int[] shuru(int[] a)
{
for (int i = ; i < a.Length;i++ )
{
Console.WriteLine("第{0}位评委评分是:",i+);
a[i] = Convert.ToInt32(Console .ReadLine ());
}
return a;
}
static int Max(int[] a)
{
int zd = ;
foreach (int b in a )
{
if (zd <b)
{
zd = b;
}
}
return zd ;
}
static int Min(int[] a)
{
int zx = ;
foreach (int b in a)
{
if (zx>b)
{
zx=b;
}
}
return zx;
}
static int Sum(int[] a)
{
int he = ;
foreach (int b in a)
{
he = he + b;
}
return he;
} }
}

2.  题目:给定一个数组,给出一个数,查找一下是否存在,用二分法

class Class3
{
static void Main(string[] ssdgrd)
{
//给定一个数组,给出一个数,查找一下是否存在
int[] a = new int[] {,,,,,,,,, };
//输入
Console.WriteLine("输入要查找的数:");
int n = Convert.ToInt32(Console .ReadLine ());
//排序
a=paixu(a); //查找
bool zhaodaole = chazhao(a, n);
//输出
if (zhaodaole ==true )
{
Console.WriteLine("找到啦");
}
if (zhaodaole ==false )
{
Console.WriteLine("木找到");
}
}
static int[] paixu(int[] a)
{
for (int i = ; i < a.Length;i++ )
{
for (int j = i; j < a.Length - ;j++ )
{
if (a[i]>a[j+])
{
int t = a[i];
a[i]=a[j+];
a[j + ] = t;
}
}
}
return a;
}
static bool chazhao(int [] a,int n)
{
bool find = false;
int start=,end=a.Length -,mid;
for (; ; )
{
mid =(start+end )/;
if (n == a[mid])
{
find = true;
break;
}
else
{
if (n>a[mid])
{
start = mid + ;
}
if (n<a[mid])
{
end = mid - ;
}
else if (end <start )
{
find = false;
break;
}
}
}
return find;
}

最新文章

  1. mysql 常用自定义函数解析
  2. CloudSim4.0报错NoClassDefFoundError,Caused by: java.lang.ClassNotFoundException: org.apache.commons.math3.distribution.UniformRealDistribution
  3. greenDao 备注
  4. [翻译] AKKA笔记- ACTORSYSTEM (配置CONFIGURATION 与调度SCHEDULING) - 4(一)
  5. 您还在招聘网上海量投简历然后等面试机会吗?那你已经OUT了。
  6. 将复杂查询写到SQL配置文件--SOD框架的SQL-MAP技术简介
  7. ReSharper 配置及用法(二)
  8. 【ubuntu】install openbox+tint2+bmenu on ubuntu12.04.4
  9. dialog统一标准调用方法(内部记录)
  10. 配置 Struts2 Hello World
  11. Quartz1.8.5例子(五)
  12. .NET 笔试分享
  13. 《Head First 设计模式》【PDF】下载
  14. 事后诸葛亮分析——Beta版本
  15. 2019-04-27 Python之有关文件的学习
  16. I2C 上拉电阻选择计算公式
  17. FS 日志空间限定
  18. LeetCode(118):杨辉三角
  19. 13.Linux键盘按键驱动 (详解)
  20. oracle 字符串分割函数

热门文章

  1. 219. Contains Duplicate II【easy】
  2. java - day10 - TetrominoTesting
  3. 域名出售(www.shopbao.com)
  4. x264_param_t结构体解释,设置及对应函数位置
  5. Hibernate每个子类一张表(使用XML文件)实例
  6. jQuery 属性操作方法
  7. python 面试题 string int
  8. poj 2226(最小覆盖)
  9. Linux基础分析
  10. urllib -- ProxyHandler处理器(代理设置)