今天用list,要刪除其中不想要的元素。正序foreach出錯。
然後我的解決辦法是:
方法1:
list<
string
> listfilepath = directory.
getfiles
(_filedirectory,
"*_d."
+ _filetype.
replace
(".",""
).trim()
).where
(f =
> datetime.
parse
(new
fileinfo
(f).lastwritetime.
tostring
("yyyy-mm-dd hh:mm:ss"))
>_lastfiletime)
.tolist
<
string
>()
; list<
string
> listfilepath2 =
newlist
<
string
>()
; listfilepath2.
addrange
(listfilepath)
;foreach
(string filepath in listfilepath2)
if(listfilepath2.count==0)
}
這樣刪除掉listfilepath
裡的不要的元素。雖然有點笨,但是也能用。
然後老哥寫了乙個:(倒序刪除)
方法2:
for
(int index = listfilepath.count; index >=
0; index--
)}
下面兩篇帖子記敘得很詳細: python迴圈刪除列表元素
如果我們用最常用的方法使用for迴圈正向遍歷列表元素進行刪除,結果如下 一 索引遍歷列表迴圈刪除 執行結果報錯 因為for語句中range 方法按照列表a的長度生成了有序整數序列,但在遍歷過程中刪除了列表元素,實際列表長度已發生改變,而遍歷的序列仍是按原始列表的長度遍歷的,導致索引超出範圍 二 直接...
Java中List for迴圈的6種寫法
listlist new arraylist 方法一 最普通的不加思考的寫法 優點 較常見,易於理解 缺點 每次都要計算list.size for int i 0 i list.size i 方法二 陣列長度提取出來 優點 不必每次都計算 缺點 1 m的作用域不夠小,違反了最小作用域原則 2 不能在...
List迴圈輸出時刪除元素
listlists new arraylist lists.add ad lists.add dv lists.add dvs lists.add adf for int i 0 isystem.out.println s 結果dvs adf因為你在lists.remove s 的時候,ad被刪除了...