コード例 #1
0
 private void TryLinks(TrieNode node, TrieNode node2, Dictionary <TrieNode, TrieNode> links)
 {
     foreach (var item in node.m_values)
     {
         if (node2 == null)
         {
             var nd = _first[item.Key];
             if (nd == null)
             {
                 continue;
             }
             links[item.Value] = nd;
             TryLinks(item.Value, nd, links);
         }
         else
         {
             TrieNode tn;
             if (node2.TryGetValue(item.Key, out tn))
             {
                 links[item.Value] = tn;
                 TryLinks(item.Value, tn, links);
             }
         }
     }
 }
コード例 #2
0
ファイル: BaseSearch.cs プロジェクト: MISAKIGA/GAWebForCsharp
 private void TryLinks(TrieNode node, TrieNode node2, Dictionary <TrieNode, TrieNode> links)
 {
     foreach (var item in node.m_values)
     {
         TrieNode tn = null;
         if (node2 == null)
         {
             tn = _first[item.Key];
             if (tn != null)
             {
                 links[item.Value] = tn;
             }
         }
         else if (node2.TryGetValue(item.Key, out tn))
         {
             links[item.Value] = tn;
         }
         TryLinks(item.Value, tn, links);
     }
 }