| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 685 人关注过本帖, 1 人收藏
标题:自定义结构体无法使用Foreach进行遍历,求解决方法,急。
只看楼主 加入收藏
king073
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-1-22
结帖率:100%
收藏(1)
已结贴  问题点数:10 回复次数:3 
自定义结构体无法使用Foreach进行遍历,求解决方法,急。
        public struct DoubleParam
        {
            public string Name;
            public double Value;
            public bool HeartBeat;
            public bool DataValid;
            public DateTime DTime;
        }
 public struct ParamPool

public DoubleParam param1;
public DoubleParam param2;
public DoubleParam param3;
public DoubleParam param4;
public DoubleParam param5;
public DoubleParam param6;
public DoubleParam param7;
public DoubleParam param8;

public ParamPool InnerParam = new ParamPool();  
public void ShowFun()

foreach(DoubleParam DP in InnnerParam)

//  此处使用Foreach时报错,求不大幅更改结构体ParamPool的情况下,如何能使用Foreach语句????


搜索更多相关主题的帖子: public double 结构体 
2013-04-28 14:43
king073
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-1-22
收藏
得分:0 
  ParamPool不包含“GetEnumerator”的公共定义 ,Foreach无法用于此变量。
让ParamPool继承IEnumerable,也还是报错

[ 本帖最后由 king073 于 2013-4-28 14:50 编辑 ]
2013-04-28 14:49
lantian8134
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:8
帖 子:115
专家分:789
注 册:2013-1-11
收藏
得分:10 
程序代码:
var ls = InnerParam.GetType().GetFields();
            foreach (var f in ls)
            {
                var obj = f.GetValue(InnerParam);
                if (obj is DoubleParam)
                {
                    var dp = (DoubleParam)obj;
                    var ls1 = dp.GetType().GetFields();
                    foreach (var f1 in ls1)
                    {
                        var val = f1.GetValue(dp);
                        ...
                    }
                }
            }
以上代码用了反射,不用改你的结构体,仅供参考
2013-04-28 15:10
king073
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-1-22
收藏
得分:0 
回复 3楼 lantian8134
问题解决了,我还想再等等看哪位大神还有其他方法呢!
但到现在还没有,不过万分感激。
2013-05-02 08:45
快速回复:自定义结构体无法使用Foreach进行遍历,求解决方法,急。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022304 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved