本文整理汇总了C#中Match.AppendGroup方法的典型用法代码示例。如果您正苦于以下问题:C# Match.AppendGroup方法的具体用法?C# Match.AppendGroup怎么用?C# Match.AppendGroup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Match
的用法示例。
在下文中一共展示了Match.AppendGroup方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MatchFirst
/// <returns>Null, if no match was found.</returns>
public Match MatchFirst(Signal output, Port port)
{
// 1. Trial: Try Local Subscriptions
if(_subscriptionAxis.Count > 0)
{
Match m = new Match(_subscriptionAxis[0], 1 + _condition.Score);
// Check Group Axis
string label;
if(_groupAxis.TryGetValue(m.PatternId, out label))
m.AppendGroup(label, new Tuple<Signal, Port>(output, port));
return m;
}
// 2. Trial: Follow Condition Axis
foreach(CoalescedTreeNode condition in _conditionAxis)
{
Match m = condition.MatchFirst(output, port);
if(m != null)
{
// Check Group Axis
string label;
if(_groupAxis.TryGetValue(m.PatternId, out label))
m.AppendGroup(label, new Tuple<Signal, Port>(output, port));
return m;
}
}
// 3. Trial: Follow Pattern Axis.
foreach(CoalescedChildPattern pattern in _patternAxis)
{
Match m = pattern.MatchFirst(port);
if(m != null)
{
// Check Group Axis
string label;
if(_groupAxis.TryGetValue(m.PatternId, out label))
m.AppendGroup(label, new Tuple<Signal, Port>(output, port));
return m;
}
}
// No match found
return null;
}