-1

我试图通过将一个列表的第一个索引值添加到另一个列表的第一个索引值来在循环中添加两个列表,但是两个列表都在运行时填充计算问题是如何跟踪该列表 <> 拥有值索引与否如下所示,

Result[var]=first[var]+second[var]

完整的代码如下,

List<double> Result = new List<double>();
        for (int var = 0; var < 30; var++)
        {
            if (first[var] == null)
            {
                first[var] = 0;
            }
            if (second[var] == null)
            {
                second[var] = 0;
            }
        }

       Result[var]=first[var]+second[var];
}

我们不确定两个列表的值可能高达 10,15 .. 索引但我需要如果列表一有 15 个值并且列表二有 10 个值然后以这种方式添加两个列表,

A list[0]+B list[0]= 
A list[1]+B list[1]= 
A list[2]+B list[2]= 

如果它添加

A list[11]+B list[11]= 

然后它从第二个列表中添加 0,因为它只有 10 个值然后如何验证 b list[11] 并在第二个列表中不存在索引 11 时使用 0

另一件事列表最多可以有 30 个值,最大值不超过 30

4

2 回答 2

0

如果我理解正确,您正在尝试将两个列表值添加到另一个列表中。如果列表中的一个已结束,则将该值视为零并继续直到任一列表的最大可用限制。

如果是这样,

// assume i1, i2 are sources and i3 is result

int max = i1.Count>i2.Count?i1.Count:i2.Count;
for (int i = 0; i < max; i++)
{
    i3[i] = (i1.Count > i ? i1[i] : 0) + (i2.Count > i ? i2[i] : 0);
}

// another varient:
for (int i = 0; i < i1.Count; i++)
{
    i3[i] = i1[i] + (i2.Count > i ? i2[i] : 0);
}
for (int i = i1.Count; i < i2.Count; i++)
{
    i3[i] = i2[i];
}
于 2013-09-10T07:57:22.487 回答
0

You may need something like this (assuming that first and second are List):

List<double> Result = new List<double>();
for (int i = 0; i < 30; i++)
{
    double firstVal = 0;
    double secondVal = 0;
    if (first.Count > i)
    {
        firstVal = first[i];
    }
    if (second.Count > i)
    {
        secondVal = second[i];
    }
    Result.Add(firstVal + secondVal);
}
于 2013-09-10T07:45:09.450 回答