首页 新闻 会员 周边 捐助

foreach遍历list,怎么获取值

0
悬赏园豆:20 [已解决问题] 解决于 2012-11-06 19:09
            foreach (var item in hot_publish)
            {
                //item.
            }

我用foreach遍历一个list(hot_publish),

 

从item里可以看到获取到了值,

 

但是为什么我用item点不出来里面的属性呢,要怎么写才能获取到里面的属性和值呢?

Andylls的主页 Andylls | 初学一级 | 园豆:5
提问于:2012-10-10 14:19
< >
分享
最佳答案
0

List<T> 泛型T是一个集合直接点当然点不出来,你要点出什么属性,实体类中的属性还是这个集合的某些方法

收获园豆:20
*^__^* | 菜鸟二级 |园豆:428 | 2012-10-20 16:42
其他回答(8)
0

item 是集合,看看 hot_publish 的定义

Qlin | 园豆:2403 (老鸟四级) | 2012-10-10 14:23

public WerList hot_publish = new WerList();

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-10-10 14:24

@Andylls: 

WerList 自定定义的集合 是什么样子的

支持(0) 反对(0) Qlin | 园豆:2403 (老鸟四级) | 2012-10-10 14:35

@Qlin: 这项目是二次开发,WerList是重写的IList集合

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-10-10 14:40

@Andylls: 

WerList 重写的时候 返回的 单个item 是一个 集合

支持(0) 反对(0) Qlin | 园豆:2403 (老鸟四级) | 2012-10-10 14:42

@Qlin: 难道我又要在里面把item遍历一次?

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-10-10 15:02

@Andylls: 

对的,要不你改 WerList

支持(0) 反对(0) Qlin | 园豆:2403 (老鸟四级) | 2012-10-10 15:08
0

你定义的是var类型,你把转换一下啊    (item as object).   这样应该能点出来

┢┦偉 | 园豆:1240 (小虾三级) | 2012-10-10 14:28

object a = item;这样还是这样: foreach (object item in hot_publish)?

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-10-10 14:32

@Andylls: foreach(object  item in hot_publish)    

这样就不用再转换了,意思就是用object类型去遍历hot_publish集合内的数据

效率更高,在知道要遍历类型的时候,都不建议用var推断类型

支持(0) 反对(0) ┢┦偉 | 园豆:1240 (小虾三级) | 2012-10-10 14:35

@┢┦偉: 刚试过了,用object类型也没用,也点不出来里面的属性

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-10-10 14:38

@Andylls: 我不是说用object  只是用它代替而已,我又不知道你要遍历的数据类型

 

       hot_publish那个list集合里面装的什么类型你就在 item前面写那个类型

 

        如果list集合里面的类型不一致,那你就只有if(item=“A类型”){(item as a).}

                                                             if(item=“B类型”){(item as b).}    

             这样读取里面的数据

支持(0) 反对(0) ┢┦偉 | 园豆:1240 (小虾三级) | 2012-10-10 14:43
0

我挺好奇这个你说的 List里面存的是什么类型的数据,把hot_publish的定义发来瞅瞅,var换成dynamic试试

foreach (var item in hot_publish)
            {
               
//item.
            }

凌心云 | 园豆:202 (菜鸟二级) | 2012-10-10 14:34

hot_publish是WerList的集合,WerList好像是重写IList的

支持(0) 反对(0) Andylls | 园豆:5 (初学一级) | 2012-10-10 14:42
0

因为是var

八戒的师傅 | 园豆:1472 (小虾三级) | 2012-10-10 19:00
0
foreach (WerList wl in hot_publish)
{
  // wl is IList 
  // do another iteration.
  foreach(var item in wl)
  {
    //item.
  }
}
gunsmoke | 园豆:3592 (老鸟四级) | 2012-10-11 05:40
0

哈哈,试试tostring();

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-10-11 14:48
0

 关键 hot_publish 这个 里面元素的类型是什么

世界万物 | 园豆:276 (菜鸟二级) | 2012-10-12 09:22
0

把var 换成 你自己的类型就有了

G1mist | 园豆:16 (初学一级) | 2012-10-15 20:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册