0

我有 2 个列表来跟踪网格上的 x 和 y 坐标。

我循环遍历高度然后宽度,然后使用 if 检查来查看 w 和 h 值是否在相同索引的列表中。

这是我得到的,但它工作不正常。

for (int h = yMin; h <= yMax; h++)
{
  for (int w = xMin; w <= xMax; w++)
  {
    if (x[w] == (w) && y[h] == (h)) 
    {
       //do some code
    }
  }
}

我还尝试在列表上使用 .Contains 方法,但不会在相同的索引处比较它们......我不在乎它们在列表中的索引,只要它们在两者中的索引相同。

if (x.Contains(w) && y.Contains(h))

我正在寻找某种方法来测试它们在列表中找到的索引。该列表也可以包含超过 1 个相同的数字。

if (x.Contains(w) && y.Contains(h))
{
    if (x.FoundIndex(w). == y.FoundIndex(h))
    {
        // this would be awesome if it worked!!!!
    }
}

只是关于变量的注释.. yMin 和 xMin 从 0 开始,for 循环在 do while 循环中,每次迭代都会将它们增加 1。yMax 和 xMax 是我们在网格内部查看的正方形的大小。

也许有一个更好的方法,我只是不知道。我试图找到一个坐标数据类型/对象,但没有成功。

我能想到的唯一方法是循环遍历 x 列表,并将每个索引与同一索引处的 y 列表进行比较。似乎应该有一种更清洁的方式来做到这一点。

请帮忙!

编辑 1:在考虑了我想要完成的事情之后,我能够把我的头绕在它周围并想出这个......这就是我的代码在我的程序中的样子,只是为了你@DJ KRAZE

for (int intCnt = 0; intCnt < lstXCoord.Count(); intCnt++)
{
    if (lstXCoord[intCnt] == intWidth)
    {
        if (lstYCoord[intCnt] == intHeight)
        {
            // do my code..
        }
    }
}
4

1 回答 1

1

试试这个:

if (x.IndexOf(w) == y.IndexOf(h))
{
    // do your stuff
}
于 2013-02-03T07:11:21.780 回答