匿名类型、枚举器和Lambda表达式
本文关键字:Lambda 表达式 枚举 类型 | 更新日期: 2023-09-27 18:27:56
带有:
var Foo = new[]{ new {Something = 321}};
为什么我可以做(编译):
Console.WriteLine( Foo[0].Something );
但不是:
Foo.ForEach(x => Console.WriteLine(x.Something));
因为Array
只有一个静态ForEach方法:
var Foo = new[] { new { Something = 321 } };
Array.ForEach(Foo, x => Console.WriteLine(x.Something));
编译并工作。
尝试
Foo.ToList().ForEach(x => Console.WriteLine(x.Something));
相反,由于ForEach扩展仅适用于列表
编辑:经过测试且有效。
EDIT2:制作"匿名列表"的一些变通方法
此SO帖子
此博客文章
另一篇博客文章