Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92309822
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-15 19:18:48

    来源:赛迪网开发者论坛    作者:AK Sung

3.循环语句

C++中的3种循环语句:for , while , do…while 和C#中是相同的。但是C#中添加了一种循环语句,在对数组的输出方面的使用非常灵活,它就是:foreach。它的语法格式:

foreach (<变量类型> <变量名>  in  <数组名>)  {}

不管是一维还是多维数组,操作都一样方便,它会自动知道数组的大小对其操作,我们不需要关心它是否会溢出。

C#中现在增加了一种变长数组,对它的操作,foreach也可以做到,但格式不同,看下面的例子

例:

using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
int[,] a1=new int[2,2]{{1,2},{3,4}};
foreach (int b1 in a1)
{
Console.WriteLine ("{0}",b1);//对不变长数组的操作
 }
int[][] a2=new int[2][];
a2[0]=new int[2]{0,1};
a2[1]=new int[3]{3,4,5};
foreach (int[] b20 in a2)
{
foreach (int b21 in b20)
Console.WriteLine ("{0}",b21);//对变长数组的操作
}
}
}
}

对于变长数组的如此操作,是因为a2包含的是一个int[]元素,而不是int元素,想想我们之前讲的变长数组也叫数组的数组,其实是2个数组的欠套。

现在我们再来看一个对foreach的使用:

int[,] a1=new int[2,2]{{1,2},{3,4}};
foreach (int b1 in a1)
{
b1=3;   //错误
}

为什么错误,还记得上面我说的一句话吗?“在对数组的输出方面的使用非常灵活”。也许你已经看出来了,是的,foreach语句只能对数据进行输出,因为它是只读的,不能改变任何数组元素的值。

阅读(228) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~