首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >中具有多个元素的可枚举对象数组中查找精确字符串类型元素的C#

中具有多个元素的可枚举对象数组中查找精确字符串类型元素的C#
EN

Stack Overflow用户
提问于 2019-09-10 00:10:23
回答 1查看 123关注 0票数 0

我在C#中有一个复杂的可枚举对象数组,其中的元素可以是多种类型。如果这些是特定类的类型,我可以应用OfType()。但是有多个string类型的元素,我不能依赖它们的顺序。

例如,我可以依赖于ApplicationApplicationState对象元素,如:

代码语言:javascript
复制
dto.ApplicationState = application?.Items?.OfType<ApplicationApplicationState>()?.FirstOrDefault().ApplicationState?.Items
                ?.FirstOrDefault()?.To<multilingualStringField>()?.value?
                .FirstOrDefault().Value.ToString();

我可以应用一些方法来获得我想要的值吗?

但是,基本数组中有两个元素,Items和ItemsElementName,我认为这两个元素基本上可以派上用场,其中ItemElementName中提供了第4个Item元素类型名称。不确定这是否有帮助。

下面是VS 2019调试器中可枚举对象数组的概述。

EN

Stack Overflow用户

回答已采纳

发布于 2019-09-10 01:40:42

您可能正在寻找Enumerable.Zip。它允许您组合ItemsItemsElementName

代码语言:javascript
复制
var valuesByName = Items
  .Zip(ItemElementName, (i, n) => new KeyValuePair<string,object>(n.ToString(), i)))
  .Where(kv => kv.Value is string)
  .ToDictionary(x => x.Key, x => (string)x.Value);

现在您可以确定哪个值属于哪个字段:valuesByName["BillRate"]

您可以轻松地将字符串键替换为更具体的类型。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57857623

复制
相关文章

相似问题

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