Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 分配给每个IEnumerable<;字符串>;使用Linq创建Object.StringId_C#_Linq - Fatal编程技术网

C# 分配给每个IEnumerable<;字符串>;使用Linq创建Object.StringId

C# 分配给每个IEnumerable<;字符串>;使用Linq创建Object.StringId,c#,linq,C#,Linq,如何在linq中执行以下操作 foreach (var ar in allResults) trans.Add(new Tran { TranId = ar }); linq新手,请帮助这是使用AddRange trans.AddRange(allResults.Select(ar => new Tran{ TranId

如何在linq中执行以下操作

 foreach (var ar in allResults)
                    trans.Add(new Tran
                    {
                        TranId = ar
                    });

linq新手,请帮助

这是使用AddRange

trans.AddRange(allResults.Select(ar => new Tran{ TranId = ar})))

您所做的似乎是将
allResults
的每个元素转换为
Tran
,并将所有元素添加到
trans

“将每个元素转换为另一个对象”对应于LINQ中的
Select
操作,可以使用
AddRange
方法添加所有转换的元素:

trans.AddRange(allResults.Select(ar => new Tran { TranId = ar }));
如果
trans
最初总是空的,您可以使用
ToList
直接分配给
trans

trans = allResults.Select(ar => new Tran { TranId = ar }).ToList();

我宁愿用ForEach

allResults.ToList().ForEach(t => trans.Add(new Tran() {TranId = t}));
看看这个答案张贴在MSDN上


ForEach执行操作,您不能从操作返回任何内容。

什么类型是
trans
?trans是List();Tran{string TransId}这不是LINQ,也不像OP的代码那样做。更不用说,这也会得到两个列表,而不是一个(尽管有一个被丢弃)。