gpt4 book ai didi

C#合并两个for循环,第二个循环是第一个倒置

转载 作者:行者123 更新时间:2023-11-30 19:35:58 25 4
gpt4 key购买 nike

我有 2 个 for 循环:

    for (int i = n; i >= 1; i -= 2)
{
....
}

for(int i = 3; i <= n; i += 2)
{
....
}

如果 n = 7,则 i 将获取值(按此顺序):

7, 5, 3, 1, 3, 5, 7

代码是相同的for循环。如果能合并这两个 for 循环就更好了。我是 C# 的新手。有什么建议吗?

编辑:n 总是奇数

最佳答案

这样做很有趣,所以我会发布我的答案。不确定它是否比仅在单独的方法中提取循环内容更好。

using System.Linq;
var n = 18;
var odds = Enumerable.Range(1,n-1).Where(i=>i%2==1).ToList();
var reverseOdds = new List<int>(odds);
reverseOdds.Reverse();
var indexes = reverseOdds.Concat(odds.Skip(1));
and then your loop

foreach (var index in indexes)
{
...
}

关于C#合并两个for循环,第二个循环是第一个倒置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49424359/

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