关于c#:如何使用linq做到这一点?

how to do this using linq?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
LINQ equivalent of foreach for IEnumerable

请帮助我找出如何用LINQ表达式替换下面的循环:

1
2
3
4
5
6
7
8
9
using System.Web.UI.WebControls;
...
Table table = ...;
BulletedList list = new BulletedList();

foreach (TableRow r in table.Rows)
{
    list.Items.Add(new ListItem(r.ToString()));
}

这是一个人为的例子,实际上我当然不会将行转换为字符串。

我正在询问如何使用bulletedlist.addrange,并向它提供一个使用LINQ语句从表中创建的项数组。

谢谢!康斯坦丁


考虑使用EDOCX1,0,用一个新的EDOCX1数组1。你要得到一个TableRowIEnumerable

1
2
3
4
5
  list.Items.AddRange(
         table.Rows.Cast<TableRow>()
                   .Select(x => new ListItem(x.ToString()))
                   .ToArray()
   );

怎么样

1
list.Items.AddRange(table.Rows.Select(r => new ListItem(r.ToString())));