本文整理汇总了C#中IReadOnlyList.Zip方法的典型用法代码示例。如果您正苦于以下问题:C# IReadOnlyList.Zip方法的具体用法?C# IReadOnlyList.Zip怎么用?C# IReadOnlyList.Zip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IReadOnlyList
的用法示例。
在下文中一共展示了IReadOnlyList.Zip方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FilterContainedPolygons
public static IEnumerable<Polygon> FilterContainedPolygons(IReadOnlyList<Polygon> polygons)
{
List<bool> contained = new List<bool>(polygons.Count);
for (int i = 0; i < polygons.Count; i++) { contained.Add(false); }
for (int i = 0; i < polygons.Count; i++)
{
if (!contained[i])
{
for (int j = 0; j < polygons.Count; j++)
{
if (i != j && !contained[j])
{
contained[j] = polygons[i].Contains(polygons[j]);
}
}
}
}
return from row in polygons.Zip(contained, (p, c) => new { Polygon = p, Contained = c })
where !row.Contained
select row.Polygon;
}
示例2: CollectionContains
private static bool CollectionContains(IReadOnlyList<IPosition> container, IReadOnlyList<IPosition> containee)
{
Contract.Requires(container != null);
Contract.Requires(containee != null);
Contract.RequiresForAll(container.Concat(containee), p => p is LinearPosition);
return //container.Count == containee.Count&&
container.Zip(containee, (a, b) => a.Contains(b)).All(); //default implementation. Can be improved
}