【发布时间】:2011-09-07 16:22:57
【问题描述】:
我想知道,是否有一种扩展方法可以让我迭代 List 并让我对列表中的每个项目执行相同的操作。例如:
.RemoveAll(x => x.property == somevalue)
这会删除所有满足条件的元素。但是,如果我有这个怎么办:
foreach(object item in lstObjects)
{
object MyObject = new object();
MyObject.propertyone = item.property
MyObject.propertytwo = somevalue;
anotherlist.Add(MyObject);
}
当然,真正的代码比这复杂一点。我的目标是,而不是 foreach 使用扩展方法,我找到了 List<T>.ForEach() 但我无法让它工作,并且这个方法在 var 列表中不存在。我也找到了.Select<>,.Where<>,但这会返回值,在我的方法中不需要返回任何值。
【问题讨论】:
-
不能让它工作?为什么不?这就是你想要的。
-
“我们不是在寻找简单的方法”-@BlackCath 应该回答 :)
-
嗨! @bzim 我的时间不多了,所以在 msdn 或示例中进行研究以了解为什么我的尝试不起作用会消耗时间,而我没有。至 stukselbax:XD 哈哈
标签: c# generics extension-methods