Code:
foreach (var item in items)
testItems.Add(new TestItem { Header = item.TestItemTypeName, Content = item });
testItems
is of type ObservableCollection<TabItem>
How to convert the above foreach loop to linq format? Thanks.
Code:
foreach (var item in items)
testItems.Add(new TestItem { Header = item.TestItemTypeName, Content = item });
testItems
is of type ObservableCollection<TabItem>
How to convert the above foreach loop to linq format? Thanks.
How about
items.ForEach(i => testItems.Add(
new TestItem
{
Header = i.TestItemTypeName,
Content = i
}));
Given that items
is ObservableCollection<TabItem>
you could try
items.ToList().ForEach(i => testItems.Add(
new TestItem
{
Header = i.TestItemTypeName,
Content = i
}));
Providing that testItems has AddRange
function, i.e. inherits from List
:
testItems.AddRange(items.Select(item => new TestItem{ Header = item.TestItemTypeName, Content = item }));
As you have mentioned,this is an ObservableCollection
, so the method is not available. In that case, the way you provided is the simplest possible. However, if you need to use this functionality more often, consider checking the following link:
Or perhaps:
var testItems = items
.Select(item =>
new TestItem {
Header = item.TestItemTypeName,
Content = item
})
.ToList();