比较循环内项目的最佳方法

leo*_*ora 0 c# collections

我有一个对象的集合.我需要遍历集合并生成另一个集合.第二个集合中的每个项目都是第一个集合中两个项目的函数.所以要简化问题.

让我们假设集合是一组整数.

 List<int> myIntCollection = new List<int>() {1, 4, 6, 8, 7};
Run Code Online (Sandbox Code Playgroud)

我需要生成第二个集合,其中每个项目是第一个集合中2个项目的总和.所以第二个集合在转换后会有这些元素.

 List<int> generatedCollection = new List<int>() {5, 10, 14, 15};
Run Code Online (Sandbox Code Playgroud)

你可以看到第一个元素是5(它是顶部集合中前两个项目的总和),第二个元素是10,它是第一个集合中第二个和第三个项目的总和,依此类推..

SLa*_*aks 6

你可以使用一个for循环:

List<int> result = new List<int>(source.Count - 1);

for (int i = 0; i < source.Count - 1; i++)
    result.Add(source[i] + source[i + 1]);
Run Code Online (Sandbox Code Playgroud)

那不难!

  • @Pete:你的两条评论相互回答. (2认同)