本文整理汇总了C#中System.Collections.Set.Clear方法的典型用法代码示例。如果您正苦于以下问题:C# Set.Clear方法的具体用法?C# Set.Clear怎么用?C# Set.Clear使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Collections.Set
的用法示例。
在下文中一共展示了Set.Clear方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddParentsOfNeededGraphElements
private void AddParentsOfNeededGraphElements(Set<INode> latelyAddedNodes)
{
Set<INode> newlyAddedNodes = new Set<INode>();
// wavefront algorithm, in the following step all nodes added by the previous step are inspected,
// until the wave collapses cause no not already added node is added any more
while(latelyAddedNodes.Count > 0)
{
foreach(INode node in latelyAddedNodes)
{
bool parentFound = false;
foreach(GroupNodeType groupNodeType in ycompClient.dumpInfo.GroupNodeTypes)
{
foreach(IEdge edge in node.Incoming)
{
INode parent = edge.Source;
if(!groupNodeType.NodeType.IsMyType(parent.Type.TypeID)) continue;
GroupMode grpMode = groupNodeType.GetEdgeGroupMode(edge.Type, node.Type);
if((grpMode & GroupMode.GroupOutgoingNodes) == 0) continue;
if(!excludedGraphNodesIncluded.ContainsKey(parent))
{
newlyAddedNodes.Add(parent);
ycompClient.AddNode(parent);
excludedGraphNodesIncluded.Add(parent, true);
ycompClient.AddEdge(edge);
if(!excludedGraphEdgesIncluded.ContainsKey(edge))
excludedGraphEdgesIncluded.Add(edge, true);
}
parentFound = true;
}
if(parentFound)
break;
foreach(IEdge edge in node.Outgoing)
{
INode parent = edge.Target;
if(!groupNodeType.NodeType.IsMyType(parent.Type.TypeID)) continue;
GroupMode grpMode = groupNodeType.GetEdgeGroupMode(edge.Type, node.Type);
if((grpMode & GroupMode.GroupIncomingNodes) == 0) continue;
if(!excludedGraphNodesIncluded.ContainsKey(parent))
{
newlyAddedNodes.Add(parent);
ycompClient.AddNode(parent);
excludedGraphNodesIncluded.Add(parent, true);
ycompClient.AddEdge(edge);
if(!excludedGraphEdgesIncluded.ContainsKey(edge))
excludedGraphEdgesIncluded.Add(edge, true);
}
parentFound = true;
}
if(parentFound)
break;
}
}
Set<INode> tmp = latelyAddedNodes;
latelyAddedNodes = newlyAddedNodes;
newlyAddedNodes = tmp;
newlyAddedNodes.Clear();
}
}