本文整理汇总了C#中Set.TryAdd方法的典型用法代码示例。如果您正苦于以下问题:C# Set.TryAdd方法的具体用法?C# Set.TryAdd怎么用?C# Set.TryAdd使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Set
的用法示例。
在下文中一共展示了Set.TryAdd方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetLoadedLowerTiles
protected virtual IEnumerable<LowerTileInfo> GetLoadedLowerTiles(IEnumerable<VisibleTileInfo> visibleTiles)
{
Set<TileIndex> result = new Set<TileIndex>();
var minLevel = tileProvider.MinLevel;
foreach (var tileInfo in visibleTiles)
{
if (!server.IsLoaded(tileInfo.Tile))
{
bool found = false;
var tile = tileInfo.Tile;
do
{
if (tile.HasLowerTile)
{
tile = tile.GetLowerTile();
if (server.IsLoaded(tile) || tile.Level == minLevel)
{
found = true;
result.TryAdd(tile);
}
}
else
{
found = true;
}
}
while (!found);
}
}
return result.OrderBy(id => id.Level).Select(id => new LowerTileInfo { Id = id });
}
示例2: GetLoadedLowerTiles
protected IEnumerable<TileIndex> GetLoadedLowerTiles(IEnumerable<VisibleTileInfo> visibleTiles)
{
Set<TileIndex> result = new Set<TileIndex>();
foreach (var tileInfo in visibleTiles)
{
if (!server.IsReady(tileInfo.Tile))
{
bool found = false;
var tile = tileInfo.Tile;
do
{
if (tile.HasLowerTile)
{
tile = tile.GetLowerTile();
if (server.IsReady(tile) || tile.Level == 1)
{
found = true;
result.TryAdd(tile);
}
}
else
{
found = true;
}
}
while (!found);
}
}
return result.OrderBy(id => id.Level);
}