【发布时间】:2016-02-10 01:14:00
【问题描述】:
如何将此示例 foreach 转换为 lambda 表达式?
foreach (ADOMD.Member iMember in pMemberCollection)
{
decimal lDimensionValue = 0;
if (Decimal.TryParse(iMember.Name, out lDimensionValue))
lDimensionValues.Add(lDimensionValue);
}
lDimensionValues.Sort();
ADOMD.Member 是一个界面的样子
[TypeLibType(xxx)]
[Guid("xxxxx")]
public interface Member
{
[DispId(0)]
string Caption { get; }
[DispId(1610743817)]
int ChildCount { get; }
string Name { get; }
[DispId(1610743812)]
Member Parent { get; }
[DispId(1610743819)]
bool ParentSameAsPrev { get; }
[DispId(1610743815)]
}
【问题讨论】:
-
您为什么要这样做?你想达到什么目的?
-
您的 foreach 很可能会比等效的 lambda 更快。
-
由于 for each 中的每个循环都是独立的,我建议使用并行 for 循环并将值转储到并发集合中,然后在最后进行排序。
标签: c# asp.net linq list generics