首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何遍历类的属性?

如何遍历类的属性?
EN

Stack Overflow用户
提问于 2015-05-27 15:27:19
回答 2查看 16.2K关注 0票数 5

我发现这个问题很常见,但我没有找到我要找的东西。也许是因为我想做点别的。

因此,我目前正在为一个网络爬虫编码,并需要比较列表中的对象。我要做的是遍历列表,查找重复项,当我找到重复项时,合并这些重复项。

合并时,我希望:

  • 保存最新/最新对象的信息。
  • 如果最新对象的字段为空,则取旧对象字段的值

我认为遍历这两个对象的属性是最简单的。

我已经尝试了很多使用反射的方法,我所能做的就是显示一个类的属性名。不过,我想要的是他们的价值观。

如果可能,我会使用这样的循环:

代码语言:javascript
复制
foreach(property prop in myObject)
{
    string value = myObject.prop;
    //do something
}

这有可能吗?还是我错过了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-27 15:35:02

类似于:

代码语言:javascript
复制
object obj = new object();
PropertyInfo[] properties = obj.GetType().GetProperties();
foreach (var p in properties)
{
    var myVal = p.GetValue(obj);
}   

注意:您需要分配对象并将其传递给PropertyInfo。

票数 15
EN

Stack Overflow用户

发布于 2015-05-27 15:30:57

为了使用foreach循环,您需要使用<dictionary>,这正是您在这里所需要的。将你的类存储在<dictionary>列表中,赋予它T键和T值,并循环遍历该类。通过这种方式,您可以更轻松地跟踪您的类并维护您想要的过滤器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30475836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档