gpt4 book ai didi

使用 DynamicObject 的 Linq

转载 作者:行者123 更新时间:2023-12-04 05:54:50 27 4
gpt4 key购买 nike

我有列表,其中 MyType:DynamicObject。 MyType 继承自 DynamicObject 的原因是我需要一个可以包含未知数量属性的类型。

在我需要过滤列表之前,一切正常。有没有办法我可以做一个 linq 来做这样的事情:

return all items where any of the properties is empty string or white space?

最佳答案

(from the comment) can I do above linq query with List?



是的,您可以使用 ExpandoObject 来做到这一点:
var list = new List<ExpandoObject>();
dynamic e1 = new ExpandoObject();
e1.a = null;
e1.b = "";
dynamic e2 = new ExpandoObject();
e2.x = "xxx";
e2.y = 123;
list.Add(e1);
list.Add(e2);
var res = list.Where(
item => item.Any(p => p.Value == null || (p.Value is string && string.IsNullOrEmpty((string)p.Value)))
);
ExpandoObject提供了一个接口(interface),让您可以像在字典中一样枚举其属性-值对,从而使检查它们的过程变得更加简单。

关于使用 DynamicObject 的 Linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11760504/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com