foreach语句为数组或对象集合中的每个元素重复一个嵌入语句组。
foreach语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。
能够应用的编程语言类别:Java、C#、PHP、D语言(Phobos库)。
foreach语句是c#中新增的循环语句,他对于处理数组及集合等数据类型特别方便。
foreach语句的一般语法格式如下:
foreach(数据类型标识符in表达式)
{
循环体
}。
此语句的形式如下:
foreach(typeidentifierinexpression)statement
其中:
type
identifier的类型。
identifier
表示集合元素的迭代变量。
如果迭代变量为值类型,则无法修改的只读变量也是有效的。
expression
对象集合或数组表达式。
集合元素的类型必须可以转换为identifier类型。
请不要使用计算为null的表达式。
而应计算为实现IEnumerable的类型或声明GetEnumerator方法的类型。
在后一种情况中,GetEnumerator应该要么返回实现IEnumerator的类型,要么声明IEnumerator中定义的所有方法。
statement
要执行的嵌入语句。
事例:
int[]arr=newint[]{0,1,2,3,4};
foreach(intiinarr)
{
Console.Write(i);
}
C#中:foreach针对引用类型地址的访问
如果当前方法中在访问当前引用类型的集合,在新调用的方法中在修改当前集合的地址时,当前地址会依然存在,不符合C#中的对象的生命周期,一旦当前文件的引用地址被替换掉了,当前对象的空间就消失废弃了,但是,foreach(){
}会保留原先的集合的地址<地址应该也是有生命周期的>foreach和for就不一样!
c#中:foreach举例
usingSystem;
classNumber
{
staticvoidMain()
{
intevenNum=0,oddNum=0;
//定义并初始化一个一维数组
int[]arr=newint[]{13,16,15,78,26,65,39};
foreach(intkinarr)//提取数组中的整数
{
if(k%2==0)//判断是否为偶数
evenNum++;
else
oddNum++;
}
Console.WriteLine("偶数个数:{0}奇数个数:{1}",evenNum,oddNum);
Console.ReadKey();
}
}
-
日照好玩的地方和吃海鲜应该去哪听说日
日照好玩的地方:万平口:"旅游来日照,必到万平口",已成为各地游客的共识。刘家湾赶海园:以赶海系列活动为主,集旅游、休闲、度假、民俗、健身于一体的综合旅游园。竹洞天:位于山东省日照市城区西端的将帅沟毛竹…
-
什么是铸造
铸造是指将室温中为液态,但不久后将要固态化的物质倒入特定形状的铸模待其凝固成形的加工方式。 被铸物质多半原为固态但加热至液态的金属(例:铜、铁、铝、锡、铅等),而铸模的材料可以是沙、金属甚至陶瓷。 因应…
-
变形金刚中博派和狂派各有哪些人物
博派:擎天柱,铁皮,大黄蜂,爵士,棘齿。狂派:威震天,红蜘蛛,眩晕,吵闹,萨克,碎骨魔,路障,迷乱。…
-
一平方毫米的铜线能过多少安的电流
1平方毫米的铜线在不同电流下通过的安培数不同。最大是18A:(1)60A以下,选1平方毫米的铜线安全载流量是6A;(2)60~100A,选1平方毫米的铜线,安全载流量是5A;(3)100A以上,选1平方毫米的铜线,安全载流量是2.5A 。…
-
中华人民共和国城乡规划法第四十条有规
自2008年1月1日起施行的《中华人民共和国城乡规划法》第四十条:在城市、镇规划区内进行建筑物、构筑物、道路、管线和其他工程建设的,建设单位或者个人应当向城市、县人民政府城乡规划主管部门或者省、自治区、直辖…