Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.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# 将foreach转换为linq_C#_Asp.net_Linq_C# 4.0_Foreach - Fatal编程技术网

C# 将foreach转换为linq

C# 将foreach转换为linq,c#,asp.net,linq,c#-4.0,foreach,C#,Asp.net,Linq,C# 4.0,Foreach,如何将以下c#foreach转换为linqcode var structure = "names structure"; var names = "name1, name2, name3"; foreach (var name in namesList) { BuildPage(name, structure, names); } 不需要将其转换为LINQ 您在这里要做的是为名称列表中的每个名称启动一个操作/调用一个方法(就像您的代码所说的那样)。因此,您希望为集合中的所有元素创建副

如何将以下
c#foreach
转换为
linq
code

var structure = "names structure";
var names = "name1, name2, name3";
foreach (var name in namesList)
{
     BuildPage(name, structure, names);
}

不需要将其转换为LINQ

您在这里要做的是为
名称列表
中的每个
名称
启动一个操作/调用一个方法(就像您的代码所说的那样)。因此,您希望为集合中的所有元素创建副作用

LINQ有一种功能性方法。所以它的目的是获取一个集合的值,通过投影、过滤和/或聚合创建另一个集合,但不是对这些元素产生副作用


您的代码可读且有效,因此无需将其转换为误用的LINQ语句。

与此相反,您可以使用
.ForEach
循环,该循环采用
操作
参数

namesList.ForEach(x => BuildPage(x, structure, names));

但是,是的,
Rene Vogt
说了什么。

我想说的是,没有意义,你不应该重构foreach循环,将事情转换成LINQ,只应该重构实际上是查询的foreach循环,即将事情添加到列表中的foreach循环。你不会那么做的,所以我会说别管它。为什么要将它转换成LINQ?Name?.Frame(Name=> Bu建dPoad(名称、结构、名称)),但是,正如其他人所说的,这只是一个前程。此外,考虑使用一个不同的昵称,而不是“StaskOutlook”。我曾经在LINQ中使用.FoeCH,但是我停止得非常快。它只是没有帮助,并且确实使代码的可读性降低,继续使用这个粒度:
List.ForEach()
不是LINQ的一部分,它只是
List
:)@RenéVogt的一个实例方法。我不知道,我一直认为这是一件小事。