查找匹配度最高的字符串

来源:互联网 发布:淘宝爆款图片大全 编辑:程序博客网 时间:2024/06/06 01:30
查找匹配度最高的字符串 -- 代码
定义的一个主体类:
 public delegate decimal CompareCondition(String value);
    public class StringCompare
    {
        private List<IntraString> intraList = new List<IntraString>();
        public StringCompare(List<String> strlist)
        {
            for (int i = 0; i < strlist.Count; i++)
            {
                intraList.Add(new IntraString(strlist[i]));
            }
        }
        public List<IntraString> Compare(CompareCondition condition)
        {
            for (int i = 0; i < intraList.Count; i++)
            {
                intraList[i].Compare(condition);
            }
            intraList.Sort(delegate(IntraString a, IntraString b)
            {
                if (a.CompareResult > b.CompareResult)
                {
                    return 1;
                }
                else if (a.CompareResult == b.CompareResult)
                {
                    return 0;
                }
                else
                {
                    return -1;
                }
            }
            );
            return intraList;
        }
    }
    public class IntraString
    {
        private String value;
        public IntraString(String value)
        {
            this.value = value;
        }
        public String Value
        {
            get { return value; }
            set { this.value = value; }
        }
        private decimal compareResult;
        public decimal CompareResult
        {
            get { return compareResult; }
            set { compareResult = value; }
        }
        public void Compare(CompareCondition condition)
        {
            CompareResult = condition(Value);
        }
    }
 
原创粉丝点击