HTML5技术

C# 输入法 - YSWALLE(3)

字号+ 作者:H5之家 来源:H5之家 2017-03-10 18:00 我要评论( )

至于什么五笔、拼音就要使用词库来解决了;其中五笔比较简单,拼音就非常复杂了,各种分词、联想等...这里以五笔为主,拼音为单拼来实现基本的输入功能;所以不需要什么高深算法,简单使用MemoryCache就轻松高效搞

至于什么五笔、拼音就要使用词库来解决了;其中五笔比较简单,拼音就非常复杂了,各种分词、联想等...这里以五笔为主,拼音为单拼来实现基本的输入功能;所以不需要什么高深算法,简单使用MemoryCache就轻松高效搞定(有兴趣的可以来https://github.com/yswenli/Wenli.IEM 上完善)

10.键词转换

1 /***************************************************************************************************** 2 * 本代码版权归@wenli所有,All Rights Reserved (C) 2015-2017 3 ***************************************************************************************************** 4 * CLR版本:4.0.30319.42000 5 * 唯一标识:8ebc884b-ee5f-45de-8638-c054b832e0ce 6 * 机器名称:WENLI-PC 7 * 联系人邮箱:wenguoli_520@qq.com 8 ***************************************************************************************************** 9 * 项目名称:$projectname$ 10 * 命名空间:Wenli.IEM 11 * 类名称:CacheHelper 12 * 创建时间:2017/3/3 16:18:14 13 * 创建人:wenli 14 * 创建说明: System; 17 using System.Collections.Generic; 18 using System.IO; 19 using System.Linq; 20 using System.Runtime.Caching; 21 using System.Text; 22 using System.Windows.Forms; Wenli.IEM.Helper 25 { CacheHelper 27 { ); MemoryCache _pinyinCache = ); CacheHelper() 33 { ; 35 var arr = File.ReadAllLines(path); 36 foreach (string item in arr) 37 { )); ) + 1); 40 _wubiCache.Add(key, (object)value, DateTimeOffset.MaxValue); 41 } 42 43 // ; 46 arr = File.ReadAllLines(path); 47 foreach (string item in arr) 48 { )); ) + 1); 51 _pinyinCache.Add(key, (object)value, DateTimeOffset.MaxValue); 52 } 53 } [] Get(string key) 56 { 57 if (!string.IsNullOrEmpty(key)) 58 { 59 var str = string.Empty; { 63 if (_wubiCache.Contains(key)) 64 str = _wubiCache[key].ToString(); 65 } 66 catch { } { 69 if (_pinyinCache.Contains(key)) 70 str += " " + _pinyinCache[key].ToString(); 71 } 72 catch { } (!string.IsNullOrEmpty(str)) 75 { [] { " " }, StringSplitOptions.RemoveEmptyEntries); 77 for (int i = 0; i < arr.Length; i++) 78 { ) > -1) 80 { )); 82 } 83 } 84 return arr; 85 } 86 } ; 89 } ContainsKey(string key) 93 { 94 if (_wubiCache.Contains(key)) ; 96 if (_pinyinCache.Contains(key)) ; ; 99 } Clear() 102 { 103 _wubiCache.Dispose(); 104 GC.Collect(-1); 105 } 106 } 107 }

 

到此一个基本型的C#版外挂输入法就成功完成了,源码地址:https://github.com/yswenli/Wenli.IEM 

 

 

 

 


转载请标明本文来源:
更多内容欢迎star作者的github:https://github.com/yswenli/RedisDrive
如果发现本文有什么问题和任何建议,也随时欢迎交流~

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 【干货】JS版汉字与拼音互转终极方案,附简单的JS拼音输入法 - 我是小茗同学

    【干货】JS版汉字与拼音互转终极方案,附简单的JS拼音输入法 - 我是

    2016-10-19 18:00

网友点评
)