how to do this using linq?

Possible Duplicate:
LINQ equivalent of foreach for IEnumerable<T>

please help me to figure out how to replace the loop below with a linq expression:


using System.Web.UI.WebControls;
...
Table table = ...;
BulletedList list = new BulletedList();

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

this is a contrived example, in reality i am not going to convert rows to strings of course.

i am asking how to use BulletedList.AddRange and supply it an array of items created from table using a linq statement.

thanks! konstantin


Consider using AddRange() with an array of new ListItems . You'll have to .Cast() to get an IEnumerable of TableRow .

  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/53002.html

上一篇: 在列表中迭代LINQ并设置创建的变量

下一篇: 如何使用linq做到这一点?