public int CompareTo(object obj) { SearchWordResult dest = (SearchWordResult)obj; if (this.SimilarRatio == dest.SimilarRatio) { return(0); } else if (this.SimilarRatio > dest.SimilarRatio) { return(-1); } else { return(1); } }
/// <summary> /// ͨ¹ý±éÀú·½Ê½ËÑË÷ /// </summary> /// <returns></returns> private List <SearchWordResult> SearchByTraversal(String key) { Debug.Assert(_Dict != null); List <SearchWordResult> result = new List <SearchWordResult>(); foreach (T_DictStruct word in _Dict.Dicts) { if (word.Word.Contains(key)) { SearchWordResult wordResult = new SearchWordResult(); wordResult.Word = word; wordResult.SimilarRatio = (float)key.Length / (float)word.Word.Length; result.Add(wordResult); } } return(result); }