Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用.NET+;创建项目列表时是否可以使用匿名方法;林克?_C#_.net_Linq_Anonymous Methods - Fatal编程技术网

C# 使用.NET+;创建项目列表时是否可以使用匿名方法;林克?

C# 使用.NET+;创建项目列表时是否可以使用匿名方法;林克?,c#,.net,linq,anonymous-methods,C#,.net,Linq,Anonymous Methods,我正在尝试做以下工作,但不确定如何 var foo = new Foo { Id = MyRandom<int>(1, 100), Name = MyRandom<string>(5,20), MyPets = MyRandom<bool>() ? new IList<Pet> (petList => {

我正在尝试做以下工作,但不确定如何

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
    };
var foo=新foo
{
Id=MyRandom(1100),
Name=MyRandom(5,20),
MyPets=MyRandom()?
新IList
(petList=>
{ 
var x=MyRandom(1,4);
对于(int i=0;i
所以..这会创建一个随机的宠物列表

有什么想法吗?

没有

相反,您可以创建lambda表达式,然后立即调用它:

MyRandom<bool>() ? null : (new Func<IList<Pet>>(() => { return ... })()
MyRandom()?null:(新函数(()=>{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
    };
var foo=新foo
{
Id=MyRandom(1100),
Name=MyRandom(5,20),
MyPets=MyRandom()?
可枚举范围(0,MyRandom(1,4))
.选择(=>新宠物(MyRandom(1,15)))
托利斯先生()
:null
};

是的,这只是psedou代码…为了让大家明白这一点…我想,但我注意到了,这让我很恼火。。。sorry@SLaks-如何返回随机添加的项目的新列表?@Slaks-耶:)这就是我所尝试的。但是我需要做什么才能将一项添加到petlist?即,petlist变量是什么?@Pure:你需要在lambda.hmmm中声明变量。我只是不明白:(这是我最新的尝试:@Pure:你需要通过在末尾添加
()
来调用委托。