我有2個列表來跟蹤網格上的x和y座標。比較2在同等索引下int類型的列表
Im循環遍歷高度和寬度,然後使用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
}
}
}
我也用。載有方法上的列表嘗試,但,這並不相同指數在對它們進行比較......我在名單不在乎它們是什麼索引,只要它們是在同一指數都在。
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將由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..
}
}
}
安迪我建議,如果您使用的是列表您不要使用變量名稱,如X,H,W,...等這使得您的代碼非常難以閱讀..我希望你的其他代碼不是那麼草率。 –
MethodMan
我剛剛用這個例子。我真正的代碼使用匈牙利符號。 lst,int,str等;;) –
感謝您試圖提供遵循默認C#指導原則的代碼。不要把匈牙利符號作爲公共樣本是個好主意。爲了使它真的很好 - 爲索引變量和座標列表使用有意義的名稱(如DJ建議的那樣)。 –