/// <summary> /// 最大匹配,从chs[offset]开始匹配,同时把chs[offset]的字符终点保存在cns[cnIdx] /// </summary> /// <param name="cns"></param> /// <param name="cnIdx"></param> /// <param name="chs"></param> /// <param name="offset"></param> /// <returns>最大匹配到的词尾长,>0 找到</returns> protected int MaxMatch(CharNode[] cns, int cnIdx, char[] chs, int offset) { CharNode cn = null; if (offset < chs.Length) { cn = dic.head(chs[offset]); } cns[cnIdx] = cn; return(dic.maxMatch(cn, chs, offset)); }