【问题标题】:Returning object after deserializing if property exists c#如果属性存在,反序列化后返回对象c#
【发布时间】:2017-06-05 16:29:34
【问题描述】:

我有一个 Person 类和 Interest 类。 Person 类有一个包含 Interest 类列表的属性。目前,我正在反序列化 json,然后遍历每个 Person 对象以查看它是否包含兴趣列表。这种方法需要很长时间才能完成。是否有更有效的方法来执行此操作,而不是循环遍历所有 Person 对象?

【问题讨论】:

  • 我们在谈论多少Person对象,“很长一段时间”是多长时间?
  • “我该如何改进你从未见过的代码?”你的描述太模糊了,我无法编写自己的代码来做你正在做的任何事情,更不用说确定你的代码可以改进的地方了。您的代码可能很慢,因为您错误地做错了什么。问题可能是任何事情。

标签: c# json deserialization


【解决方案1】:

你尝试过这样的事情吗?

var returnedPersons = Deserialize(Result); //replace with whatever you deserialize to.

returnedPersons.Where(x => x.Interests.Count > 0).ToList(); //here you use linq to grab whatever you want

同样,不确定persons 的回报有多大,a very long time 的回报有多久。但这将是获取具有interests 列表的所有persons 列表的行业标准

【讨论】:

  • 这是有道理的,我正在循环大约 7000 个人员对象,大约需要 30 分钟。我会试试这个,谢谢!
  • 不!如果对您有用,请记得点赞并标记为已回答:)
  • @RonT Offhand,听起来应该只需要几分之一秒。我知道您无法将代码粘贴到问题框中,但如果您能够向我们展示您的实际代码,我们可能会为您提供帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 2016-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多