我会用for不会用foreach郁闷,个位大虾帮帮忙啦!

army369168520 2010-04-29 10:14:56
for和foreach的区别,什么时候用for 什么时候用foreach 以及foreach的应用 Thanks!
...全文
305 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
honkerhero 2010-04-29
  • 打赏
  • 举报
回复
实现了IEnum....接口的集合对象,才可以用foreach,否则免谈
langyue555 2010-04-29
  • 打赏
  • 举报
回复
for 更灵活 可以设置循环次数 循环变量 开始结束暂停循环你随意控制 但是如果你操作不当就会出现 数组下标越界等等错误 foreach 不能设置循环次数 但是他在使用循环的时候无论怎么都不会越界
dlsgliss 2010-04-29
  • 打赏
  • 举报
回复
个人认为还是自己多练习,做的多了,自己自然会明白怎么用!
foreach( 类 对象 in 集合)
{}
兔子-顾问 2010-04-29
  • 打赏
  • 举报
回复
Lucas22,转个身吧。
Lucas22 2010-04-29
  • 打赏
  • 举报
回复
String[] sArr = new String[] {"one","two","three","four" };
foreach (String s in sArr)
Console.WriteLine(s);
夜晚回家 2010-04-29
  • 打赏
  • 举报
回复
foreach (元素类型 变量名 in 集合或者数组名){
// 语句
}

注意:
1. “元素类型”必须和集合或数组中的元素类型相符。
2. 循环变量集合和数组中的元素。
3. 遍历过程中只能方法集合或数组中的元素,不能修改他们。
4. 使用时优先考虑使用foreach语句。

http://www.dingos.cn/index.php?topic=937.0
Peter200694013 2010-04-29
  • 打赏
  • 举报
回复

String[] sArr = new String[] {"one","two","three","four" };
foreach (String s in sArr)
Console.WriteLine(s);
flyerwing 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 songjd 的回复:]
明确循环次数 for
不明确循环次数 foreach
[/Quote]
一个是实现了索引接口一个是实现了可枚举接口吧。
混个分。
草帽精神 2010-04-29
  • 打赏
  • 举报
回复
学习了
ITBABAHL 2010-04-29
  • 打赏
  • 举报
回复
写个简单例子看看

List<Student> stuList=new List<Student>();//一个学生类的集合
stuList.ADD(new student('张三','男'));//给集合添加元素
stuList.ADD(new student('李四','男'));
stuList.ADD(new student('王五','男'));
foreach(Student stu in stuList)//遍历集合中的每个元素
{
Console.WriteLine(stu);//输出集合中的每个元素
}
lbser 2010-04-29
  • 打赏
  • 举报
回复
Very easy
huiming_zhou 2010-04-29
  • 打赏
  • 举报
回复

通俗的说
for一般遍历对象中的值 比如遍历一个数组

foreach一般遍历对象集合中的对象 比如一个泛型中存了多个对象,foreach用于从泛型集合中遍历对象中的属性或方法
guilipan 2010-04-29
  • 打赏
  • 举报
回复
实现了IEnumrable接口的类才可以用foreach,foreach比for用起来更简单,毕竟代码少些很多啊
FatProgrammer 2010-04-29
  • 打赏
  • 举报
回复
string[] strarray1=new string[3]{"aaa","bbb","ccc"};
string str1="";
for(int i=0; i<strarray1.Lenght; i++)
{
str1=str1+strarray1[i];
}
MessageBox.Show(str1);
//---------------------------
str1="";
foreach(string str in strarray1)
{
str1=str1+str;
}
MessageBox.Show(str1);
/*上面显示的结果都是一样的。慢慢参详,就明白了。strarray1这个数组里面的包含的数据一定是string类型的。在举个例子*/
List<int> intList = new List<int>();
foreach(int tmp in intList)
{
//..........
}
List<string> strList = new List<string>();
foreach(string str in strList)
{
//..........
}
army369168520 2010-04-29
  • 打赏
  • 举报
回复
我的油箱army369168520@163.com 不好意思 我现在要去上课,我下午会看贴的。谢谢朋友!
xcf007 2010-04-29
  • 打赏
  • 举报
回复
顶11楼
army369168520 2010-04-29
  • 打赏
  • 举报
回复
treeView1.Nodes.Clear();
XmlDocument dc = new XmlDocument();
dc.Load("addteam.xml");
XmlNodeList list = dc.SelectNodes("//new");
foreach (XmlElement item in list)
{
TreeNode trnodes = new TreeNode(item.GetAttribute("name1"));
try
{
foreach (XmlElement temp in item.ChildNodes)
{
TreeNode node = new TreeNode(temp.GetAttribute("name"));
node.Tag = temp.GetAttribute("url");
trnodes.Nodes.Add(node);
}

}
catch (Exception)
{

}

treeView1.Nodes.Add(trnodes);
}
这里面的foreach语句不太知道,只知道是绑定
zhangjiewoshiwo 2010-04-29
  • 打赏
  • 举报
回复
看看下面的例子也许会让你对他们的理解加强一点(随手写的):

list<string> str=new list<string>();
//向集合str中添加元素
for(int i=0;i<10;i++)
{
str.add(i.ToString());
}
//输出str集合中的元素
foreach(string item in str)
{
response.write(item);
}
兔子-顾问 2010-04-29
  • 打赏
  • 举报
回复
int[] datas = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
foreach (int item in datas)
{
Console.WriteLine(item.ToString());
}
//和下面是等效的
IEnumerator ed = datas.GetEnumerator();
while (ed.MoveNext())
{
Console.WriteLine(ed.Current.ToString());
}
penfriends 2010-04-29
  • 打赏
  • 举报
回复
foreach( 类 对象 in 集合)
{}


for 也能进行不确定次数查询
加载更多回复(16)

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧