本文整理汇总了C#中Stack.LastOrDefault方法的典型用法代码示例。如果您正苦于以下问题:C# Stack.LastOrDefault方法的具体用法?C# Stack.LastOrDefault怎么用?C# Stack.LastOrDefault使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Stack
的用法示例。
在下文中一共展示了Stack.LastOrDefault方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: findCycle
private static bool findCycle(Dictionary<Node, List<Node>> edges, Node visitingNode, Stack<Node> visitedNodes) {
if (visitedNodes.LastOrDefault() == visitingNode) {
visitedNodes.Push(visitingNode);
return true;
}
if (visitedNodes.Contains(visitingNode)) {
return false;
}
visitedNodes.Push(visitingNode);
List<Node> connections;
if (edges.TryGetValue(visitingNode, out connections)) {
foreach (Node nextNode in connections) {
if (findCycle(edges, nextNode, visitedNodes)) {
return true;
}
}
}
visitedNodes.Pop();
return false;
}
示例2: FindLabelTarget
private NamedLabel FindLabelTarget(Stack<NamedLabel> targets, string label)
{
if (targets.Count == 0)
throw new InvalidOperationException("There is not label");
if (label != null)
{
// TODO: Changing the targets to a list makes this operation
// more efficient.
var target = targets.LastOrDefault(p => p.Name == label);
if (target == null)
throw new InvalidOperationException("Cannot find break target " + label);
return target;
}
return targets.Peek();
}