<div> <div>우선 작성한 코드입니다.</div> <div><br></div> <div>foreach (ListViewItem lvi in lstv.SelectedItems)</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int num = lvi.Index;</div> <div> FileInfo fileinfo = new FileInfo(lvi.Tag + "\\" + lvi.Text);</div> <div> if (fileinfo.Exists)</div> <div> {</div> <div> <span class="Apple-tab-span" style="white-space:pre;"> </span>fileinfo.Delete();</div> <div> imagelist.Images.RemoveAt(lvi.Index - cnt);</div> <div> lstv.Items.RemoveAt(lvi.Index - cnt);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cnt++</div> <div><br></div> <div><span style="font-size:9pt;line-height:1.5;"><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i=num; i<lstv.Count; i++)</span></div> <div></div> <div> {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>lstv.Items[i].ImageIndex = i;</div> <div> }</div> <div> lstv.Refresh();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>}</div> <div> </div></div> <div><br></div> <div>foreach 구문 질문입니다.</div> <div>리스트뷰에서 다중선택을 해서</div> <div>삭제하는 코드를 아래와같이 작성했는데</div> <div>알고리즘이 마음에 안들어서 질문드려봅니다.</div> <div><br></div> <div>삭제할 index를 foreach문으로 가지고 오게되면</div> <div>오름차순으로 반복문이 되서</div> <div>리스트뷰에 0~10까지 있을때 1,2,5,7을 선택했다면</div> <div>1,2,5,7순으로 <span style="font-size:9pt;line-height:1.5;">index를 가지고 와서</span></div> <div>파일삭제하고, 이미지리스트와 리스트뷰에 있는 목록을 제거합니다.</div> <div><br></div> <div><br></div> <div>여기서 문제가 있습니다.</div> <div><b>foreach에서 오름차순으로 값이 들어올때</b></div> <div>물론 아래와 같이 for을 돌려서하면 정상적으로 되는데</div> <div>1,2,5,7을 삭제했다면</div> <div>1~9 = 9</div> <div>1~8 = 8</div> <div>3~7 = 5</div> <div>4~6 = 3</div> <div>for문이 돌아가는데 27번입니다.</div> <div><br></div> <div><b>만약, </b></div> <div><b>foreach에서 내림차순으로 값이 들어올때</b></div> <div>7~9 = 3</div> <div>5~8 = 4</div> <div>2~7 = 6</div> <div>1~6 = 6</div> <div>for문은 19번입니다.</div> <div><br></div> <div>아래와 같이 했을때 더 효율이 좋습니다.</div> <div><br></div> <div>데이터가 얼만큼 들어올지 확실하지 않아서 질문드려봅니다. 알고가는게 좋을것 같아서요;;</div> <div><br></div> <div>---------</div> <div>아래는 질문 요약입니다.;</div> <div>foreach문을 사용 했을때 값을 내림차순으로 받을수 있는지 궁금합니다.</div> <div>굳이 foreach문이 아니더라도 다른방법으로 처리할수 있는지 궁금합니다.</div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><span style="font-size:9pt;line-height:1.5;"> </span></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.