如何使用linq做到这一点?
可能重复:
IEnumerable <T>的foreach相当于LINQ
请帮我弄清楚如何用linq表达式替换下面的循环:
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语句为它提供一个从表创建的项目数组。
谢谢! 康斯坦丁
考虑使用带有新ListItems
数组的AddRange()
。 您必须使用.Cast()
才能获得TableRow
的IEnumerable
。
list.Items.AddRange(
table.Rows.Cast<TableRow>()
.Select(x => new ListItem(x.ToString()))
.ToArray()
);
怎么样
list.Items.AddRange(table.Rows.Select(r => new ListItem(r.ToString())));
链接地址: http://www.djcxy.com/p/53001.html