我有2个List来跟踪网格上的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))
我正在寻找一些方法来测试它们在列表内部找到的索引。列表中也可以包含多个相同的数字。
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是我们在网格中看到的正方形的大小。
也许有一种更好的方式,我只是不知道..我试图找到一个Coordinate数据类型/对象但是没有成功。
我能想到的唯一方法是通过x列表循环,并将每个索引与同一索引处的y列表进行比较。看起来应该有一种更清洁的方式来做到这一点。
请帮忙!
编辑1: 在考虑了我想要完成的任务之后,我能够绕过它并想出这个...而这就是我的代码在我的程序中仅供你使用@DJ KRAZE
for (int intCnt = 0; intCnt < lstXCoord.Count(); intCnt++)
{
if (lstXCoord[intCnt] == intWidth)
{
if (lstYCoord[intCnt] == intHeight)
{
// do my code..
}
}
}
答案 0 :(得分:1)
请改为尝试:
if (x.IndexOf(w) == y.IndexOf(h))
{
// do your stuff
}