Linq ForEach - 返回不能将'void'分配给隐式类型的局部变量

thi*_*ote 4 c# linq

我正在尝试使用linq查询来保存几行代码.我得到一个编译错误,我被告知:

返回不能将'void'分配给隐式类型的局部变量.

var GIANTLIST = new List<string>();

var taskIds = Complaint.Tasks.Select(s => s.Task_ID).ToList().ForEach( s =>
{
    GIANTLIST.Add("<Task_ID=" + s.ToString() + ">");
});
Run Code Online (Sandbox Code Playgroud)

我试图更好地理解linq查询.我知道它有一个"无效"的返回类型?如果是这种情况我怎么能够添加到列表?

Mar*_*als 6

Foreach它不会返回任何结果; 你不能将它分配给变量.删除var taskIds:

var GIANTLIST = new List<string>();

Complaint.Tasks.Select(s => s.Task_ID).ToList().ForEach( s =>
{
    GIANTLIST.Add("<Task_ID=" + s.ToString() + ">");
});
Run Code Online (Sandbox Code Playgroud)

这里有关于它的微软文档https://msdn.microsoft.com/en-us/library/bwabdf9z%28v=vs.110%29.aspx

我试图更好地理解linq查询.我知道它有一个"无效"的返回类型?如果是这种情况我怎么能够添加到列表?

认为这个ForEach是通常的功能ForEach ForEach(在MyList中的var a),它不返回任何东西也是一个空白.在ForEach中,您可以直接修改类的变量.