看板 C_Sharp 關於我們 聯絡資訊
標題可能打得有點難懂,實際情況是這樣的, 有一堆數量為count^2的控制項,會排列成長寬都為count的大正方型, 然後要對每一個控制項上下左右的鄰居做屬性檢查, 但如果在邊緣的控制像,就會抓到溢位的陣列或是上一排的末端, 我原本針對這樣的問題,在判斷式中加入遇到邊緣的時候不檢查的判定, 結果好像因為這麼做的原因,讓程式碼變得很肥而且跑的速度很慢, 想想也是很浪費的做法,因為大部分的控制項其實都不會出問題, 只有上下左右的第一排才會爆炸。 想了半天,還是決定來版上問問看各位高手,有沒有比較省時省力的做法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.125.7.64
s90366770607:if(x==0 || x==count-1 || y==0 || y==count-1) 10/04 15:48
s90366770607:這樣邊緣不就都不會判斷了? 10/04 15:48
tonyhsie:如果你是從左上開始作檢查 那每一控制項都只要檢查右/下 10/04 16:23
tonyhsie:鄰居就好 也只需check x或y其中之一是否超出邊界 10/04 16:25
s3748679:那要不把邊緣與非邊緣分別快取到2個list去 之後個別處理? 10/04 20:15
stdio:最外層再加一圈控制項,就不需要檢查了 ... 10/04 22:25
s3748679:樓上好主意 10/04 23:40
感謝各位,我先用邊緣和非邊緣分開處理的做法試試看。 ※ 編輯: stu87616 來自: 1.162.161.12 (10/05 00:31)