使用.NET+Linq创建项目列表时,是否可以使用匿名方法
本文关键字:可以使 方法 是否 创建 NET+Linq 项目 列表 使用 | 更新日期: 2023-09-27 18:00:41
我正在尝试执行以下操作,但不确定如何。。。
var foo = new Foo
{
Id = MyRandom<int>(1, 100),
Name = MyRandom<string>(5,20),
MyPets = MyRandom<bool>() ?
new IList<Pet>
(petList =>
{
var x = MyRandom<int>(1, 4);
for (int i = 0; i < x; i++)
{
petList.Add(new Pet(MyRandom<string>(1,15));
}
}
: null
};
所以。。这会创建一个宠物的随机列表。
有什么想法吗?
否。
相反,您可以创建一个lambda表达式,然后立即调用它:
MyRandom<bool>() ? null : (new Func<IList<Pet>>(() => { return ... })()
你试过这样的东西吗?
var foo = new Foo
{
Id = MyRandom<int>(1, 100),
Name = MyRandom<string>(5,20),
MyPets = MyRandom<bool>() ?
Enumerable.Range(0, MyRandom<int>(1, 4))
.Select(_ => new Pet(MyRandom<string>(1,15)))
.ToList()
: null
};