我有2个元组列表:
List<Tuple<double, int>> FH = new List<Tuple<double, int>>();
List <Tuple<double, int>> LastPriceBarNumber = new List <Tuple<double, int>> ();
,并且希望当两个列表中的Item2匹配时在FH中找到索引,并将其作为Item2添加到下面的元组列表中:(其Item1和Item3与上面的List LastPriceBarNumber中的Item1和Item2相同)>
List<Tuple<double, int, int>> LastPriceIndexBarNumber = new List<Tuple<double, int, int>>();
因此,我创建了一个嵌套循环,以在列表FH和LastPriceBarNumber中找到匹配的Item2,以便在发生匹配时知道FH的索引。
for (int i = 0; i < LastPriceBarNumber.Count; i++)
{
for (int ii = 0; ii < FH.Count; ii++)
{
if (LastPriceBarNumber[i].Item2 == FH[ii].Item2)
{
LastPriceIndexBarNumber.Add(Tuple.Create(LastPriceBarNumber[i].Item1, ii, LastPriceBarNumber[i].Item2));
break;
}
}
}
不知道我在做什么错,但是当发生匹配时,ii不是FH的索引。
代码有什么问题?非常感谢您的帮助!
下面要测试的数据:
FH.Add(Tuple.Create(2000.00, 200));
FH.Add(Tuple.Create(1999.00, 210));
FH.Add(Tuple.Create(2002.00, 220));
FH.Add(Tuple.Create(2004.00, 240));
FH.Add(Tuple.Create(2003.00, 260));
FH.Add(Tuple.Create(2001.25, 270));
FH.Add(Tuple.Create(2007.00, 320));
FH.Add(Tuple.Create(2008.00, 340));
LastPriceBarNumber.Add(Tuple.Create(1999.00, 210));
LastPriceBarNumber.Add(Tuple.Create(2001.25, 270));
LastPriceBarNumber.Add(Tuple.Create(2008.00, 340));
两个列表中匹配的Item2的FH索引应为:
1
5
7
并且ii不会在结果元组列表中添加这些值!
答案 0 :(得分:0)
代码工作正常。 ii的值是:
1
5
7
问题必须出在代码的另一部分。