让我们:
List<double> inputs,outputs;
这有什么区别:
inputs.Clear();
outputs.ForEach(inputs.Add);
和此:
inputs.Clear();
outputs.ForEach(x => inputs.Add(x));
1)我假设两个选项首先清除输入列表,然后取输出列表中的所有值并将它们放入输入列表中。
2)两个选项看起来都是等价的。我对吗?它们之间有什么区别吗?
答案 0 :(得分:2)
不,没有区别。它们很可能被编译为相同的IL代码。
但是,在我看来,这个表格
inputs.Clear();
outputs.ForEach(x => inputs.Add(x));
更清楚地显示您的意图。我可能会完全避免这种情况,只需使用foreach
循环将每个元素添加到inputs
。但它最终取决于您的个人偏好。