Re: [問題]foreach與i++列舉法?
根據 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
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章