gpt4 book ai didi

C#用WHERE获取每个第n个元素,奇怪的结果

转载 作者:行者123 更新时间:2023-11-30 21:49:16 26 4
gpt4 key购买 nike

using System;
using System.Collections.Generic;
using System.Linq;

public class Test
{
public static void Main()
{
List<int> list = new List<int>();
for(int i = 0; i < 16; ++i) list.Add(i);
Console.WriteLine(string.Join(" ", list.Where((o, i) => i % 4 == 0).Select((o, i) => i).ToArray()));
}
}

有人可以解释一下,为什么上面的代码返回 0 1 2 3 而不是 0 4 8 12?

最佳答案

因为您选择的是索引而不是值。试试这个:

Console.WriteLine(string.Join(" ", list.Where(o =>o % 4 == 0).Select((o, i) => o).ToArray()));

如果您不打算对索引执行任何操作,请执行以下操作:

Console.WriteLine(string.Join(" ", list.Where(o => o % 4 == 0).ToArray()));

关于C#用WHERE获取每个第n个元素,奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37116438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com