Re: [問題]foreach與i++列舉法?

看板C_Sharp (C#)作者 (Harold)時間19年前 (2006/08/19 13:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
根據 NameObjectCollectionBase.GetEnumerator 的說明 This enumerator returns the keys of the collection as strings. 所以用 foreach (string file in uploadFiles) 沒有錯 http://msdn2.microsoft.com/en-us/library/system.collections.specialized.nameobj ectcollectionbase.getenumerator.aspx ※ 引述《taigc (阿光)》之銘言: : 小弟並沒有實際試過, 僅提出一些個人的看法, 歡迎討論 :p : HttpFileCollection 繼承 NameObjectCollectionBase : 而 NameObjectCollectionBase 又有繼承 IEnumerable : 所以理論上是可以用 foreach 的, : 但 foreach (string file in uploadFiles) 不行呢? : 根據 NameObjectCollectionBase 的說明可以了解內部是用 HashTable 實作的 : 所以這一個 Collection 中每個的 Item 不是 string, 而是一個 Pair : http://msdn2.microsoft.com/en-us/library/system.collections.hashtable.aspx : 因此我的見解是應該使用 : foreach (DictionaryEntry de in uploadFiles) : { : string file = (string)de.key; : } : 或是使用 HttpFileCollection 的 AllKeys 這個 Property 來存取 : string[] files = uploadFiles.AllKeys; : foreach (string file in files) : { : ... : } : 以上是小弟個人的見解~ 不一定正確~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 67.188.208.97
文章代碼(AID): #14vflI_h (C_Sharp)
文章代碼(AID): #14vflI_h (C_Sharp)