我有第三方api,它有一個返回類中不同項目的枚舉器的類。枚舉器的問題,任何方式來避免兩個循環?
我需要刪除該枚舉器中的項目,所以我不能使用「for each」。我能想到的唯一選擇是通過遍歷枚舉來獲取計數,然後運行正常的for循環來刪除項目。
任何人都知道避免兩個循環的方法?
感謝
[更新]遺憾的註釋中的混亂,但安德烈下面是正確的。
下面是一些僞代碼了我的頭,將無法工作,爲此我期待這將不涉及兩個循環,但我想這是不可能的解決方案:
for each (myProperty in MyProperty)
{
if (checking some criteria here)
MyProperty.Remove(myProperty)
}
myProperty的是實現枚舉器和remove方法的第三方類。
呃,你**不能從** IEnumerator中刪除某些東西。你可以發佈一些代碼嗎? – 2010-06-18 11:08:27
@Neil Barnwell他意味着有枚舉器和一些刪除元素的方法。在枚舉 – Andrey 2010-06-18 11:09:59
@Andrey時,你無法從集合中刪除@Andrey他沒有說**有一些其他方法可以刪除項目 - 他說他想「刪除該枚舉器中的項目」。作出這樣的假設,你的回答是完全正確的,我只是想澄清一些細節,以防他要求解決不可解決的問題。 – 2010-06-18 11:11:33