System.StringHelper.LCSSearch C# (CSharp) Method

LCSSearch() public static method

最长公共子序列搜索,从词组中找到最接近关键字的若干匹配项
算法代码由@Aimeast 独立完成。http://www.cnblogs.com/Aimeast/archive/2011/09/05/2167844.html
public static LCSSearch ( String key, Array words ) : String[]
key String
words Array
return String[]
        public static String[] LCSSearch(String key, String[] words)
        {
            if (IsNullOrWhiteSpace(key) || words == null || words.Length == 0) return new String[0];

            var keys = key
                                .Split(new Char[] { ' ', '\u3000' }, StringSplitOptions.RemoveEmptyEntries)
                                .OrderBy(s => s.Length)
                                .ToArray();

            //var q = from sentence in items.AsParallel()
            var q = from word in words
                    let MLL = LCSDistance(word, keys)
                    where MLL >= 0
                    orderby (MLL + 0.5) / word.Length, word
                    select word;

            return q.ToArray();
        }

Same methods

StringHelper::LCSSearch ( IEnumerable list, String keys, Func keySelector, Int32 count = -1 ) : IEnumerable