小编Ryi*_*ers的帖子

array.Take(13).Skip(x)正在减去take

这是针对Project Euler,问题8.

我试图foreach通过数组,每次跳过最后一个数字并拉出数组中的下13个相邻数字.

我的代码:

for(int x = 0; x < 987; x++)
{
    foreach(int number in numbers.Take(13).Skip(x))
    {
        hold = hold * number;
        adjacent[index] = number;
        index++;
    }

    if (hold > product)
    {
        product = hold;
    }

    Array.Clear(adjacent, 0, adjacent.Length);
    index = 0;
    hold = 1;
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,每次通过数组枚举时,它会减去x的数量,从它通过列表的次数减去13,即13.

所以当x为5时,它只会通过数组8次.

如何在一次遍历13个数字的位置修复它?

c# linq foreach

7
推荐指数
1
解决办法
561
查看次数

Foreach通过XML文档与Powershell返回多个节点

尝试从XML文档收集服务器和环境信息.但是,当我使用foreach循环迭代文档时,它返回树中的两个节点,而不是一次返回一个节点.

[xml]$xmlDoc = [xml](Get-Content("C:\temp\compareVHD_info.xml"))

foreach($env in $xmlDoc.pvs.env)
{
    if($env -eq "prod")
    { do stuff}
}
Run Code Online (Sandbox Code Playgroud)

XML:

<pvs>
  <env>
    <prod>
        <primaryServer>
            <name>name</name>
            <storePath>path</storePath>
        </primaryServer>
        <secondaryServer>
            <name>name</name>
            <storePath>path</storePath>
        </secondaryServer>
    </prod>
    <nonProd>
        <primaryServer>
            <name>name</name>
            <storePath>path</storePath>
            <storePath>path</storePath>
            <storePath>path</storePath>
            <storePath>path</storePath>
        </primaryServer>
        <secondaryServer>
            <name>name</name>
            <storePath>path</storePath>
            <storePath>path</storePath>
            <storePath>path</storePath>
            <storePath>path</storePath>
        </secondaryServer>
    </nonProd>
  </env>
</pvs>
Run Code Online (Sandbox Code Playgroud)

我正在尝试收集主要和辅助服务器名称,存储路径和存储路径.但是,当我使用上面的代码时,它会在$ env变量中返回"prod nonProd"

在此先感谢您的帮助!

xml powershell

0
推荐指数
1
解决办法
7184
查看次数

标签 统计

c# ×1

foreach ×1

linq ×1

powershell ×1

xml ×1