日期:2014-05-17  浏览次数:20965 次

C#拨号盘数字界面输入数字检索出联系人
要实现的功能就是 在拨号盘数字界面输入数字检索出联系人。(简拼)

例如:输入25 可以得到 “陈菊” 这个联系人,(2中有abc,5中有jkl)  

请求比较简易的,并且速度较快的方法,谢谢。

遇到的难点:  
1.要输入的字符串是在拨号盘中输入,也就是只能输入2到9的数字。  
那我怎样根据数字得到相对应的字母。比如:2对应(a,b,c);3对应(d,e,f)  
2.就算能得到对应的字符,那应该怎样去匹配。  
比如:输入"23" 两个数字。会匹配出的字符串包括:"ad","ae","af","bd","be","bf","cd","ce","cf" 9个字符串。  
我会拿这九个字符串去数据库去匹配。  
关键问题是一般用户都会输入很多数字,手机号就有11位,那匹配起来数量相当的大,11位的话,匹配出来的字符串就是3的11次方。然后拿这么多字符串去根数据库里的联系人去匹配。数量又会大大的增加。 

------解决方案--------------------
思路完全不对啊,应该是对名称做索引, “陈菊”的索引就是25。直接找25就可以了。而不是输入25再去对名称做处理