wpf+c#,為何在使用while并以SelectedItems.Count為條件循環刪除選中項目時,會在非調試狀態下死循環?問題出現的平臺win10 1703 | Visual Studio Community 2017 15.7.4+27703.2035 | .NET Framework 4.7.03056 | CSC 2.8.3-beta6-62923-07相關代碼void RemoveFilesListItems(object sender, RoutedEventArgs e){ //有一個名為FilesList的ListBox控件,它的SelectionMode屬性的值為Extended
while (FilesList.SelectedItems.Count>0) //原因未知的死循環
{
FilesList.Items.Remove(FilesList.SelectedItems[0]);
}
}期待的結果使用FilesList.Items.Remove(FilesList.SelectedItems[0]);這條語句會刪除選中的第一個item。我期待這段代碼能在SelectedItems.Count>0的時候循環刪除第一個item,從而達到批量刪除選中item的目的。得到的結果使用vs進行調試,一切正常。編譯之后直接運行,選中ListBox中的多個item,但是沒有選中全部item的時候,一切正常。編譯之后直接運行,選中ListBox中的全部item,執行這個方法,導致死循環(真的是死循環,我嘗試在里邊添加寫txt的語句,運行后txt里邊多了一堆內容),程序失去響應。猜測循環過快會導致SelectedItems.Count數值的更新出現問題?希望得到的回答關于這個死循環的原因。我已經換用了別的方式來進行這個操作,只是好奇這個死循環的原因。還請各位解惑,謝謝咯~
- 2 回答
- 0 關注
- 840 瀏覽
添加回答
舉報
0/150
提交
取消