作者deuter (Harold)
看板C_Sharp
标题Re: [问题]foreach与i++列举法?
时间Sat Aug 19 13:06:21 2006
根据 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