【发布时间】:2022-11-14 15:55:36
【问题描述】:
我有一个 JOSN 数组,我需要从该部分的 CustomerId 属性退出的属性中获取 CustomerId 值,我试图在下面循环遍历这些部分并跳过没有 CustomerId 属性的部分
var customerId = "";
foreach (var section in jsonBuidler?["categories"])
{
val = section?["sections"].FirstOrDefault()
?["areas"]?.FirstOrDefault()
?["components"]?.
?["variables"]?.FirstOrDefault()
?["properties"]
?["CusotmerId"]?.ToString();
if (val == null)
continue;
else
{
customerId = val;
break;
}
}
问题是这看起来效率低下(可读性较差),因为我想有一个很好的 .Select 可以用来获得相同的结果而无需 forEach 元素并检查属性是否为 null。
请注意,这不是我遇到的问题,这是有效的,我只想以更易读的方式使用Select 而不是ForEach。谢谢你。
【问题讨论】:
-
您是在寻找提高效率还是改进可读性?
Select()不会神奇地使事情变得比你的foreach语句更有效,因为Select()是使用foreach实现的。 -
好问题,可读性,而不是效率