[英]C# To find exact string type element from Enumerable Object Array having Multiple elements in
我在C#中有一個復雜的可枚舉對象數組,其中的元素可以是多種類型。 如果這些是特定類的類型,則可以應用OfType()。 但是有多個字符串類型元素,我不能依靠它們的順序。
例如,我可以依賴於ApplicationApplicationState對象元素,例如:
dto.ApplicationState = application?.Items?.OfType<ApplicationApplicationState>()?.FirstOrDefault().ApplicationState?.Items
?.FirstOrDefault()?.To<multilingualStringField>()?.value?
.FirstOrDefault().Value.ToString();
我可以應用一些方法來獲得所需的值嗎?
但是,基本數組中有兩個元素,即Items和ItemsElementName,我認為主要可以派上用場,其中第四個Item元素類型名稱由ItemElementName提供。 不確定是否有幫助。
下面是VS 2019調試器中的Enumerable Object數組的概述。
您可能正在尋找Enumerable.Zip
。 它允許您組合Items
和ItemsElementName
。
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"]
您可以輕松地將字符串鍵替換為更特定的類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.