Den*_*ger 4 c# linq generics extension-methods
让我们说我想迭代a string[][],使用匿名类型追加一个值并对结果执行一个通用的ForEach-Extension方法(很明显的例子,我知道,但我想你会得到它的第一个!).
这是我的代码:
//attrs = some string[][]
attrs.Select(item => new { name = HttpContext.GetGlobalResourceObject("Global", item[0].Remove(0, 7)), value = item[1] })
.ForEach</*????*/>(/*do stuff*/);
Run Code Online (Sandbox Code Playgroud)
究竟我会在ForEach的Type-Parameter中加入什么?
这是ForEach的样子:
public static void ForEach<T>(this IEnumerable<T> collection, Action<T> act)
{
IEnumerator<T> enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
act(enumerator.Current);
}
Run Code Online (Sandbox Code Playgroud)
您不需要显式指定类型,因为它可以从提供的参数中推断出来:
attrs.Select(item => new
{
name = HttpContext.GetGlobalResourceObject("Global",
item[0].Remove(0, 7)),
value = item[1]
})
.ForEach(x => x.name = "something");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
903 次 |
| 最近记录: |