本文整理汇总了C#中ImmutableHashSet.Overlaps方法的典型用法代码示例。如果您正苦于以下问题:C# ImmutableHashSet.Overlaps方法的具体用法?C# ImmutableHashSet.Overlaps怎么用?C# ImmutableHashSet.Overlaps使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ImmutableHashSet
的用法示例。
在下文中一共展示了ImmutableHashSet.Overlaps方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetProviders
protected ImmutableArray<CompletionProvider> GetProviders(ImmutableHashSet<string> roles)
{
roles = roles ?? ImmutableHashSet<string>.Empty;
RoleProviders providers;
if (!_roleProviders.TryGetValue(roles, out providers))
{
providers = _roleProviders.GetValue(roles, _ =>
{
var builtin = GetBuiltInProviders();
var imported = GetImportedProviders()
.Where(lz => lz.Metadata.Roles == null || lz.Metadata.Roles.Length == 0 || roles.Overlaps(lz.Metadata.Roles))
.Select(lz => lz.Value);
return new RoleProviders { Providers = builtin.Concat(imported).ToImmutableArray() };
});
}
if (_testProviders.Length > 0)
{
return providers.Providers.Concat(_testProviders);
}
else
{
return providers.Providers;
}
}
示例2: CheckCollisions
public bool CheckCollisions(Piece piece, ImmutableHashSet<Point> gameField, int width, int height)
{
return piece.Coordinates
.Any(cell => cell.AbsX < 0 || cell.AbsY < 0
|| cell.AbsX >= width || cell.AbsY >= height) || gameField.Overlaps(piece.Coordinates);
}