Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.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# 与可枚举项混淆。在C中选择_C#_Lambda - Fatal编程技术网

C# 与可枚举项混淆。在C中选择

C# 与可枚举项混淆。在C中选择,c#,lambda,C#,Lambda,我是C和.NET世界的新手。我试图理解以下陈述 var xyz = Enumerable.Repeat(obj, 1).ToList(); var abc = xyz.Select(xyzobj => new res { foo = bar, xyzs = new [] {xyzobj}, }).ToList(); 我知道Select接收一个对象和一个transformer函数,并返回一个新形式的对象。但在这里,它接受一个带有枚举值和另一

我是C和.NET世界的新手。我试图理解以下陈述

var xyz = Enumerable.Repeat(obj, 1).ToList();
var abc = 
    xyz.Select(xyzobj => new res {
        foo = bar,
        xyzs = new [] {xyzobj},
    }).ToList();
我知道Select接收一个对象和一个transformer函数,并返回一个新形式的对象。但在这里,它接受一个带有枚举值和另一个对象的lambda表达式

我有点困惑。上面的说法与此相似吗

var abc = xyz.Select(xyzobj => {
    //some work with xyzobj
    //and return object.
    }).ToList();
有人能解释一下上面的说法吗?事实上,在我的新工作地点,我的头随着这些说法转来转去


有人能告诉我一些好的资源来理解lambda表达式和枚举吗。

C中有两种主要的lambda表达式

表达式如下所示:

x => foo(x);
x => {
    // code block
}
它接受一个参数x,并对其执行一些转换foo,返回foox的结果,尽管从技术上讲,它可能不会返回foox is void的结果类型的值

语句lambda如下所示:

x => foo(x);
x => {
    // code block
}
这将获取一个参数x并对其执行一些操作,如果提供了显式返回,则可以选择返回一个值。代码块可能由多个语句组成,这意味着您可以声明变量、执行循环等。这在更简单的表达式lambda语法中不受支持。但这只是另一种兰姆达

如果有帮助,您可以将以下内容视为等效内容,尽管如果您试图将其解析为一个实例,它们并不完全等效:

进一步阅读


C语言中有两种主要的lambda表达式

表达式如下所示:

x => foo(x);
x => {
    // code block
}
它接受一个参数x,并对其执行一些转换foo,返回foox的结果,尽管从技术上讲,它可能不会返回foox is void的结果类型的值

语句lambda如下所示:

x => foo(x);
x => {
    // code block
}
这将获取一个参数x并对其执行一些操作,如果提供了显式返回,则可以选择返回一个值。代码块可能由多个语句组成,这意味着您可以声明变量、执行循环等。这在更简单的表达式lambda语法中不受支持。但这只是另一种兰姆达

如果有帮助,您可以将以下内容视为等效内容,尽管如果您试图将其解析为一个实例,它们并不完全等效:

进一步阅读


首先,从有效代码开始。1 => .. 是无意义的,将导致编译器错误。MSDN是您的最佳选择:。Select只是一个工作的投影。您可能还想看看这个:-首先,从有效代码开始。1 => .. 是无意义的,将导致编译器错误。MSDN是您的最佳选择:。Select只是一个工作的投影。您可能还想看看这个:-