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()
);
how about
list.Items.AddRange(table.Rows.Select(r => new ListItem(r.ToString())));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With