C#中foreach遍历的用法
萌到你眼炸
944次浏览
2021年01月28日 20:07
最佳经验
本文由作者推荐
小学音乐教师总结-菊花台古筝谱
C#
中
foreach
遍历的用法
分类:
C#
2012-04-29 13:56 367
人阅读
评论
(1)
收藏
举报
c#
存储
string
foreach
循环用于列举出集 合中所有的元素,
foreach
语句中的表达式由关键字
in
隔开的
两个项组成。
in
右边的项是集合名,
in
左边的项是变量名,
用 来存放该集合中的每个元素。
该循环的运行过程如下:
每一次循环时,
从集 合中取出一个新的元素值。
放到只读变量中去,
如果括号中的整个表达式返回值为
tr ue
,
foreach
块中的语句就能够执行。一旦集合中的
元素都已经被访 问到,整个表达式的值为
false
,控制流程就转入到
foreach
块后 面
的执行语句。
foreach
语句经常与数组一起使用,下面 实例将通过
foreach
语句读取数组的值并进行显
示。
数组的属性:
数组的容量
利用这个属性,我们可以取得数组对象允 许存储的容量值,也就是数组的长度、元素个数
,
这个比较好理解,数组还有其他的属性,比如数组的维数等,
属性的用法比较简单,学会一
种,其他的格式基本一致,这里我们就不 举例了。
当数组的维数、容量较多时,
C#
提供了
foreach
语句,专门用来读取集合
/
数组中的所有元
素,我们把这种功能叫做遍历。语 法书写如下:
遍历数组:
foreach
(
type objName in collection/Array
)
这段语句会逐一检查 数组中的所存储的变量值,并且一一将其取出,其中的
type
是你所要
读取的数组对 象将要存储在
objName
变量的数据类型,而
objName
是定义了一 个
type
类
型的变量名,代表每一次从集合和数组(
collection /Array
)中取得的元素,
collection/Array
则是所要存取的数 组对象。
用这种方法只需写一个
foreach
就可以遍历出除交错数组以外的
所有维数的数组。
注:
objName
的数据类型
type必须与
collection/Array
对象的类型相同或比它大。
下面我们举一个用
foreach
和
for
遍历规则数组的例子,其中涉及到 了一个数组得到维数的
方法,比较
foreach
在一次性遍历规则数组上的优势。< br>
int[,,] a = new int[2, 2, 2] { {{ 1, 2 }, { 3,4}},{{ 5, 6 }, { 7,8}} };//
定义一个
2
行
2
列
2
纵深的
3
维数组< br>a
for (inti = 0; i< gth (0) i++ )
//
用
gth(n)
得到
数组
[0,1,,,n]
上的维数的元素数,
0
代表行,
1
列,
n
代表此数组是
n+1
维
{
for (int j = 0; j < gth(1); j++)
{
for (int z = 0; z < gth(2);z++ )//2
代表得到纵深上的元素
数,如果数组有
n
维 就得写
n
个
for
循环
{
ine(a[i,j,z]);
}
}
}
用
foreach
循环一次性遍历
a
数组
int[,,] a = new int[2, 2, 2] { {{ 1, 2 }, { 3,4}},{{ 5, 6 }, { 7,8}} };//
定
义一个
2
行
2
列
2
纵深的
3
维数组
a
foreach(inti in a)
{
Console .WriteLine (i);
}
这两种代码执行的结果是一样的都是每行一个元素,共
8
行,元素分别是
1 2 3 4 5 6 7 8
下面我们再做个例子,是一个利用
for
和< br>foreach
循环做的存取数组元素的例子,首先提示
用户输入学生的个数,然后把学 生个数作为存储学生姓名的数组
names
的元素个数,采用
for
循环按照 数组的索引
i
从
0
位开始循环输出
“
输入学生姓名
”
的提示,
并把用户输入的学生
姓名按照其在数组的索引方式
names[i ]
存储在
names
数组中,
for
循环次数的最大值
(即 索
引的最大值)通过数组属性
.Length
得到,我们说过容量与索引之间的关系是
index=-1,
本题即
i
的最大值
<,
存储后,提示< br>“
输出学生姓名
”
,再
用
foreach
循环一次性 遍历
names
数组中存储的每个元素(学生的姓名),一个一个的把
它赋值给
name
元素,然后输出到控制台上。
必须注意的是,借助
foreac h
,只能一一取得数组中的元素,并不能利用这种语句改变数组
所存储的元素。
using System;
class Program
{
static void Main()
{
int count;
ine(
输入要登记的学生数
count = (ne());
string[]names = new string[count];
for (inti = 0; i<; i++)
{
ine(
请输入第
{0}
个学生的姓名
names[i] = ne();
}
ine(
已登记的学生如下
foreach (string name in names)
{
ine(
}
y();
}
}
////////////////////////////////
C#
中遍历各类数据集合的方法
分类:
C#
2012-04-29 13:57 300
人阅读
评论
(0)
收藏
举报
c#datasetstringsql
C#
中遍历各类数据集合的方法,这里自己做下总结:
1.
枚举类型
//
遍历枚举类型
Sample
的各个枚举名称
foreach
(
string
sp
in
es(
typeof
(Sample)))
{
(sp);
}
//
遍历枚举类型
Sample
的各个枚举值
foreach
(
string
sp
in
ues(
typeof
(Sample)))
{
(sp);
}
2.
遍历
ArrayList(Queue
、
Stack)
这里以
string
为例,当然
ArrayList
中的元素可以是任何数 据类型,遍历时须确认
ArrayList
中的元素都是同一数据类型。
//
遍历元素为
string
类型的队列
foreach
(
string
text
in
arraylist)
{
(text);
}
此外遍历
Queue
队列和
Stack
堆栈的方式与
ArrayList
基本相同,
都可以使用
foreach
来
循环遍历,只不过一个是先进先出另一个是先进后出罢了 。
m
窗体中的控件
//
遍历寻找主窗体中的控件,并将符合条件的控件从窗体上去除
foreach
(Control ctl
in
this
.Controls)
{
//
获取并判断控件类型或控件名称
if
(e().(
) || (
))
this
.(ctl);
}
ble
哈希表
DictionaryEntry
类需要引用
tions
//
遍历完整哈希表中的键和值
foreach
(DictionaryEntry item
in
hashTable)
{
(
哈希键:
++
哈希值:
+ng());
}
此外还可以单独遍历哈希表中的键或值。
//
只遍历哈希表中的键
foreach
(
string
key
in
)
{
(
哈希键:
+ key);
}
//
只遍历哈希表中的值
foreach
(
string
value
in
hashT
)
{
(
哈希值:
+ value);
}
5.
遍历
DataSet
和
DataTable
中的行和列