C#中的foreach循环怎么用?

 我来答
左迩娱乐
2018-03-30 · TA获得超过2.7万个赞
知道小有建树答主
回答量:147
采纳率:96%
帮助的人:2.2万
展开全部

foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。

能够应用的编程语言类别:Java、C# 、PHP、D语言(Phobos库)。

foreach语句是c#中新增的循环语句,他对于处理数组及集合等数据类型特别方便。

foreach语句的一般语法格式如下:

foreach(数据类型 标识符 in 表达式)

{

循环体

}。

此语句的形式如下:

foreach (type identifier in expression) statement

其中:

type

identifier 的类型。

identifier

表示集合元素的迭代变量。如果迭代变量为值类型,则无法修改的只读变量也是有效的。

expression

对象集合或数组表达式。集合元素的类型必须可以转换为 identifier 类型。请不要使用计算为 null 的表达式。

而应计算为实现 IEnumerable 的类型或声明 GetEnumerator 方法的类型。在后一种情况中,GetEnumerator 应该要么返回实现 IEnumerator 的类型,要么声明 IEnumerator 中定义的所有方法。

statement

要执行的嵌入语句。

事例:

int[]arr=newint[]{0,1,2,3,4};

foreach(int i in arr)

{

Console.Write(i);

}

C#中:foreach 针对引用类型地址的访问

如果当前方法中在访问当前引用类型的集合,在新调用的 方法中在修改当前集合的地址时,当前地址会依然存在,不符合C#中的对象的生命周期,一旦当前文件的引用地址被替换掉了,当前对象的空间就消失废弃了,但是,foreach(){

}会保留原先的集合的地址<地址应该也是有生命周期的>foreach 和for 就不一样!

c#中:foreach举例

using System;

class Number

{

static void Main()

{

int evenNum = 0, oddNum = 0;

//定义并初始化一个一维数组

int[] arr = new int[] { 13, 16, 15, 78, 26, 65, 39 };

foreach (intk in arr) //提取数组中的整数

{

if (k % 2 == 0) //判断是否为偶数

evenNum++;

else

oddNum++;

}

Console.WriteLine("偶数个数:{0} 奇数个数:{1}", evenNum, oddNum);

Console.ReadKey();

}

}

百度网友42ba240c
2011-08-12 · 超过24用户采纳过TA的回答
知道答主
回答量:136
采纳率:0%
帮助的人:52.7万
展开全部
foreach 有个固定的语言,其他它并不是走循环,而是遍历
foreach(类型 类型变量 in 数组)
{}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
翅膀的初衷
推荐于2017-10-12 · TA获得超过1176个赞
知道小有建树答主
回答量:735
采纳率:0%
帮助的人:645万
展开全部
int[] list = {1,2,3,4,5,6,7}'

foreach (int i in list
{
Response.Write(i);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
457696640
2011-08-12
知道答主
回答量:9
采纳率:0%
帮助的人:5208
展开全部
foreach(dr in dt)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜礼服假面MP
推荐于2017-09-04 · TA获得超过3437个赞
知道大有可为答主
回答量:1034
采纳率:77%
帮助的人:357万
展开全部
foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。
能够应用的编程语言类别:Java、C# 、PHP、D语言(Phobos库)。
foreach语句是c#中新增的循环语句,他对于处理数组及集合等数据类型特别方便。
foreach语句的一般语法格式如下:
foreach(数据类型 标识符 in 表达式)
{
循环体
}。

此语句的形式如下:

foreach (type identifier in expression) statement

其中:

type

identifier 的类型。

identifier

表示集合元素的迭代变量。如果迭代变量为值类型,则无法修改的只读变量也是有效的。

expression

对象集合或数组表达式。集合元素的类型必须可以转换为 identifier 类型。请不要使用计算为 null 的表达式。

而应计算为实现 IEnumerable 的类型或声明 GetEnumerator 方法的类型。在后一种情况中,GetEnumerator 应该要么返回实现 IEnumerator 的类型,要么声明 IEnumerator 中定义的所有方法。

statement

要执行的嵌入语句。

事例:

int[]arr=newint[]{0,1,2,3,4};
foreach(int i in arr)
{
Console.Write(i);
}

C#中:foreach 针对引用类型地址的访问

如果当前方法中在访问当前引用类型的集合,在新调用的 方法中在修改当前集合的地址时,当前地址会依然存在,不符合C#中的对象的生命周期,一旦当前文件的引用地址被替换掉了,当前对象的空间就消失废弃了,但是,foreach(){

}会保留原先的集合的地址<地址应该也是有生命周期的>foreach 和for 就不一样!

c#中:foreach举例

using System;

class Number

{

static void Main()

{

int evenNum = 0, oddNum = 0;

//定义并初始化一个一维数组

int[] arr = new int[] { 13, 16, 15, 78, 26, 65, 39 };

foreach (intk in arr) //提取数组中的整数

{

if (k % 2 == 0) //判断是否为偶数

evenNum++;

else

oddNum++;

}

Console.WriteLine("偶数个数:{0} 奇数个数:{1}", evenNum, oddNum);

Console.ReadKey();

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式