日期:2014-05-18  浏览次数:20407 次

新手请教ForEach问题,在线等,帮顶有分,谢谢
谁能帮解释小弟理解下FOREach是什么,今天老师上课刚讲完,但是不是很懂,希望高手们给予解释!

------解决方案--------------------
遍历集合中的项目.
------解决方案--------------------
用来遍历集中的所有项目的!
------解决方案--------------------
For是根据一个表达式的值来决定是否循环,而Foreach是遍历集合中的项目!
这两个是不一样的!虽然For有时也可以用来遍历集合中的项目!
------解决方案--------------------
if(ds.Tables[0].Rows.Count > 0)
{
foreach(DataRow dr in ds.Tables[0].Rows)
{
ListItem li = new ListItem();
li.Text = dr[1].ToString();
li.Value = dr[0].ToString();
DropDownList1.Items.Add(li);
}
}
------解决方案--------------------
迭代器,在可以使用foreach和for的情况下,foreach效率性能略高,用起来也更为直观,感觉也可以比for少写几行代码
------解决方案--------------------
遍历集合中的项目. 但是在不知道集合中的项目条数的时候用这个阿 就不能用for
------解决方案--------------------
遍历对象中的所有成员
wizardlun() ( ) 信誉:100 Blog 加为好友 2007-06-22 13:37:48 得分: 0


if(ds.Tables[0].Rows.Count > 0)
{
foreach(DataRow dr in ds.Tables[0].Rows)
{
ListItem li = new ListItem();
li.Text = dr[1].ToString();
li.Value = dr[0].ToString();
DropDownList1.Items.Add(li);
}
}


------解决方案--------------------
帮顶一把
------解决方案--------------------
FOREach是什么
=================
1。
foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。


那用FOr不可以得吗
===========
2。可以
以下是从效果上看等价的
int[] numArray = new int[] { 1, 2, 3, 4, 5 };
// #1
foreach(int num in numArray) {
Response.Write(num + ", ");
}

// #2
for(int i=0; i < numArray.length; i++) {
Response.Write(numArray[i] + ", ");
}


3。
一般上讲,只有实现了 IEnumerable 和 IEnumerator 的集合类才能 foreach,

但是在 C# 中,集合类并非必须严格从 IEnumerable 和 IEnumerator 继承才能与 foreach 兼容;只要类有所需的 GetEnumerator、MoveNext、Reset 和 Current 成员,便可以与 foreach 一起使用。省略接口的好处为,使您可以将 Current 的返回类型定义得比 object 更明确,从而提供了类型安全。

4。
MSDN 参考
foreach,in(C# 参考)
http://msdn2.microsoft.com/zh-cn/library/ttw7t8t6(VS.80).aspx
http://msdn2.microsoft.com/zh-cn/library/ttw7t8t6(VS.80).aspx
------解决方案--------------------
foreach用来遍历集合中所有成员,并且对所有成员进行相同操作

而通过for循环遍历的时候可以针对每个成员做不同操作,这个不同主要体现在控制循环的变量上

我是这么理解的
------解决方案--------------------
帮顶
------解决方案--------------------

在问大家各问题好不,我想删除数据在存储过程里面而且是主子表的关系:
我要删除主表的数据的同时也要删除子表的数据,但是在删除子表数据的同时必须判断子表是不是被别的表占用了,如果被占用了此条子表记录不能删,其他的可以删.如果字表不被占用的话就主子表一起删了.
========
1。
若数据库支持,如 SQL Server Oracle,你可以考虑设计为级联删除

2。
如你所理解,删除前先查询是否被引用,若被引用则不执行删除
------解决方案--------------------
学习