yzsndcbcbg首字母谷歌拼音输入法成些什么字

当前访客身份:游客 [
当前位置:
一直以来就十分怀念当年用易语言的时候可以使用中文变量名——自动完成的时候按拼音首字母就可以了。
虽然这几年习惯了用英文变量名,但总是有点怀旧情结。昨天闲极无聊,把SharpDevelop 的源代码找出来看了看,找到了让SharpDevelop的自动完成列表支持中文拼音首字母匹配的办法。
效果差不多是这样:
**别问我C#关键字如何汉化——我觉着那根本无必要。
下面是实现的方法(其中取汉字拼音首字母的相关代码是我从网上抄来的,保留了原作者的名字(又或者是代号?)——感谢XDesigner的辛勤劳动):
⑴先准备转码方法:
&&&&&&&&///&&summary&
& & & & ///&取Unicode字符的拼音首字母。
&&&&&&&&///&&/summary&
&&&&&&&&///&&param&name=&c&&要取拼音首字符的Unicode字符。&/param&
&&&&&&&&///&&returns&拼音首字母。&/returns&
&&&&&&&&char&GetFirstPinYinAlpha(char&c)
&&&&&&&&&&&&if(c&&=&0&&&&c&&&256)&return&c;
&&&&&&&&&&&&
&&&&&&&&&&&&//不需要考虑GB2312还是什么,反正代码都是Unicode的。
&&&&&&&&&&&&
&&&&&&&&&&&&//TODO: 这个方法现在还不全,需要进一判断每个汉字(按区间)的拼音首字母。
&&&&&&&&&&& //目前只给了两个硬编码的汉字做示例。
//这个方法被移动到一个单独的文件中实现了(见ChinesePinYin.cs文件)
&&&&&&&&&&&&if(c ==&'爱')return&'a';
&&&&&&&&&&&&if(c ==&'情')return&'q';
&&&&&&&&&&&&
&&&&&&&&&&&&return&c;
&&&&&&&&///&&summary&
&&&&&&&&///&将itemText转换为拼音首字母列表字串的形式。
&&&&&&&&///&&/summary&
&&&&&&&&///&&param&name=&itemText&&要转换为拼音首字母的字符串。&/param&
&&&&&&&&///&&returns&返回转换后的字串。如:“a接口”会被转换成:ajk&/returns&
&&&&&&&&string&FormatToFirstPinYinAlphaList(string&itemText)
&&&&&&&&&&&&if(string.IsNullOrEmpty(itemText))return&
&&&&&&&&&&&&
&&&&&&&&&&&&StringBuilder sb =&new&StringBuilder();
&&&&&&&&&&&&foreach(char&c&in&itemText)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&sb.Append(GetFirstPinYinAlpha(c));&&&&&&&&&&&&&&&&
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&return&sb.ToString();
⑵在“解决方案\Libraries\ICSharpCode.AvalonEdit\CodeCompletion\”文件夹下添加cs文件:ChinesePinYin.cs。
内容如下:
&* 由SharpDevelop创建。
&* 用户: YangZhen
&* 时间: 下午 09:23
&* 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
using&System.T
namespace&ICSharpCode.AvalonEdit.CodeCompletion
&&&&///&&summary&
&&&&///&用于取汉字拼音首字母的类。此类只支持Unicode。
&&&&///&&/summary&
&&&&public&static&class&ChinesePinYin
public&static&string&FatAlphaAndNumbersToThin(string&text)
&&&&&&&&&&&&StringBuilder myStr =&new&StringBuilder();
&&&&&&&&&&&&
&&&&&&&&&&&&foreach(&char&vChar&in&text)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&// 若是字母则直接输出
&&&&&&&&&&&&&&&&if((&vChar&&=&'a'&&&&vChar&&='z'&)&||&(&vChar&&='A'&&&&vChar&&='Z'&))
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&myStr.Append(vChar);
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&else&if(vChar&&=&'A'&&&&vChar&&=&'Z')//全角英文字母,返回对应半角英文字母。
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&int&offset =&(int)'A'&-&(int)'A';
&&&&&&&&&&&&&&&&&&&&myStr.Append((char)((int)vChar&-&offset));
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&else&if(vChar&&=&'a'&&&&vChar&&=&'z')//全角英文小写字母,返回对应半角英文小写字母。
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&int&offset =&(int)'a'&-&(int)'a';
&&&&&&&&&&&&&&&&&&&&myStr.Append((char)((int)vChar&-&offset));
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&else&if(vChar&&=&'0'&&&&vChar&&=&'9')
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&int&offset =&(int)'0'&-&(int)'0';
&&&&&&&&&&&&&&&&&&&&myStr.Append((char)((int)vChar&-&offset));
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&else
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&myStr.Append(vChar);//其它字符,原样返回(例如汉字),这是为了“用户直接输入汉字”这种情况。
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&return&myStr.ToString();
&&&&&&&&///&&summary&
&&&&&&&&///&返回某汉字的拼音首字母。
&&&&&&&&///&&/summary&
&&&&&&&&///&&param&name=&c&&要取拼音首字母的字符。如果是全角英文字母,返回对应的半角英文字母;
&&&&&&&&///&如果是支持的汉字,返回汉字拼音首字母;如果是全角数字,返回对应的半角数字;其它字符原样返回。&/param&
&&&&&&&&///&&returns&&/returns&
&&&&&&&&public&static&char&GetFirstAlphaOfChinesePinYin(char&c)
&&&&&&&&&&&&if(c&&=&0&&&&c&&&256)&return&c;
&&&&&&&&&&&&
&&&&&&&&&&&&if(c&&=&'A'&&&&c&&=&'Z')//全角英文字母,返回对应半角英文字母。
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&int&offset =&(int)'A'&-&(int)'A';
&&&&&&&&&&&&&&&&return&(char)((int)c&-&offset);
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&if(c&&=&'a'&&&&c&&=&'z')//全角英文小写字母,返回对应半角英文小写字母。
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&int&offset =&(int)'a'&-&(int)'a';
&&&&&&&&&&&&&&&&return&(char)((int)c&-&offset);
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&if(c&&=&'0'&&&&c&&=&'9')
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&int&offset =&(int)'0'&-&(int)'0';
&&&&&&&&&&&&&&&&return&(char)((int)c&-&offset);
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&if((c&&=&'a'&&&&c&&='z'&)&||&(c&&='A'&&&&c&&='Z'&))return&c;//字母原样返回。
&&&&&&&&&&&&
&&&&&&&&&&&&int&index =&(int)c&-&19968;
&&&&&&&&&&&&if(index&&=&0&&&&index&&&strChineseFirstPY.Length)return&strChineseFirstPY[index];//返回汉字拼音道字母。
&&&&&&&&&&&&
&&&&&&&&&&&&return&c;//其余均原样返回。
&&&&&&&&///&&summary&
&&&&&&&&///&获得一个字符串的汉语拼音码,XDesigner编制
&&&&&&&&///&&/summary&
&&&&&&&&///&&param&name=&strText&&字符串&/param&
&&&&&&&&///&&returns&汉语拼音码,该字符串只包含大写的英文字母&/returns&
&&&&&&&&public&static&string&ToChinesePinYinText(string&strText)
&&&&&&&&&&&&if(&strText ==&null&||&strText.Length ==&0&)return&strT
&&&&&&&&&&&&System.Text.StringBuilder myStr =&new&System.Text.StringBuilder();
&&&&&&&&&&&&int&index =&0;
&&&&&&&&&&&&foreach(&char&vChar&in&strText)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&// 若是字母则直接输出
&&&&&&&&&&&&&&&&if((&vChar&&=&'a'&&&&vChar&&='z'&)&||&(&vChar&&='A'&&&&vChar&&='Z'&))
&&&&&&&&&&&&&&&&&&&&myStr.Append(&char.ToUpper(&vChar&));
&&&&&&&&&&&&&&&&else
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&index =&(int)vChar&-&19968;
&&&&&&&&&&&&&&&&&&&&if(&index&&=&0&&&&index&&&strChineseFirstPY.Length)
&&&&&&&&&&&&&&&&&&&&&&&&myStr.Append(&strChineseFirstPY[index]);
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&return&myStr.ToString();
&&&&&&&&///&&summary&
&&&&&&&&///&汉字拼音首字母列表
&&&&&&&&///&本列表包含了20902个汉字,用于配合 ToChinesePinYinText() 方法使用,
&&&&&&&&///&本表收录的字符的Unicode编码范围为1, XDesigner 整理
&&&&&&&&///&&/summary&
&&&&&&&&private&static&string&strChineseFirstPY =
&&&&&&&&&&&&&YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJTMYHZWZHFLZPPQHGSCYYYNJQYXXGJ&
&&&&&&&&&&&&+&&HHSDSJNKKTMOMLCRXYPSNQSECCQZGGLLYJLMYZZSECYKYYHQWJSSGGYXYZYJWWKDJHYCHMYXJTLXJYQBYXZLDWRDJRWYSRLDZJPC&
&&&&&&&&&&&&+&&BZJJBRCFTLECZSTZFXXZHTRQHYBDLYCZSSYMMRFMYQZPWWJJYFCRWFDFZQPYDDWYXKYJAWJFFXYPSFTZYHHYZYSWCJYXSCLCXXWZ&
&&&&&&&&&&&&+&&ZXNBGNNXBXLZSZSBSGPYSYZDHMDZBQBZCWDZZYYTZHBTSYYBZGNTNXQYWQSKBPHHLXGYBFMJEBJHHGQTJCYSXSTKZHLYCKGLYSMZ&
&&&&&&&&&&&&+&&XYALMELDCCXGZYRJXSDLTYZCQKCNNJWHJTZZCQLJSTSTBNXBTYXCEQXGKWJYFLZQLYHYXSPSFXLMPBYSXXXYDJCZYLLLSJXFHJXP&
&&&&&&&&&&&&+&&JBTFFYABYXBHZZBJYZLWLCZGGBTSSMDTJZXPTHYQTGLJSCQFZKJZJQNLZWLSLHDZBWJNCJZYZSQQYCQYRZCJJWYBRTWPYFTWEXCS&
&&&&&&&&&&&&+&&KDZCTBZHYZZYYJXZCFFZZMJYXXSDZZOTTBZLQWFCKSZSXFYRLNYJMBDTHJXSQQCCSBXYYTSYFBXDZTGBCNSLCYZZPSAZYZZSCJCS&
&&&&&&&&&&&&+&&HZQYDXLBPJLLMQXTYDZXSQJTZPXLCGLQTZWJBHCTSYJSFXYEJJTLBGXSXJMYJQQPFZASYJNTYDJXKJCDJSZCBARTDCLYJQMWNQNC&
&&&&&&&&&&&&+&&LLLKBYBZZSYHQQLTWLCCXTXLLZNTYLNEWYZYXCZXXGRKRMTCNDNJTSYYSSDQDGHSDBJGHRWRQLYBGLXHLGTGXBQJDZPYJSJYJCTM&
&&&&&&&&&&&&+&&RNYMGRZJCZGJMZMGXMPRYXKJNYMSGMZJYMKMFXMLDTGFBHCJHKYLPFMDXLQJJSMTQGZSJLQDLDGJYCALCMZCSDJLLNXDJFFFFJCZ&
&&&&&&&&&&&&+&&FMZFFPFKHKGDPSXKTACJDHHZDDCRRCFQYJKQCCWJDXHWJLYLLZGCFCQDSMLZPBJJPLSBCJGGDCKKDEZSQCCKJGCGKDJTJDLZYCXK&
&&&&&&&&&&&&+&&LQSCGJCLTFPCQCZGWPJDQYZJJBYJHSJDZWGFSJGZKQCCZLLPSPKJGQJHZZLJPLGJGJJTHJJYJZCZMLZLYQBGJWMLJKXZDZNJQSYZ&
&&&&&&&&&&&&+&&MLJLLJKYWXMKJLHSKJGBMCLYYMKXJQLBMLLKMDXXKWYXYSLMLPSJQQJQXYXFJTJDXMXXLLCXQBSYJBGWYMBGGBCYXPJYGPEPFGDJ&
&&&&&&&&&&&&+&&GBHBNSQJYZJKJKHXQFGQZKFHYGKHDKLLSDJQXPQYKYBNQSXQNSZSWHBSXWHXWBZZXDMNSJBSBKBBZKLYLXGWXDRWYQZMYWSJQLCJ&
&&&&&&&&&&&&+&&XXJXKJEQXSCYETLZHLYYYSDZPAQYZCMTLSHTZCFYZYXYLJSDCJQAGYSLCQLYYYSHMRQQKLDXZSCSSSYDYCJYSFSJBFRSSZQSBXXP&
&&&&&&&&&&&&+&&XJYSDRCKGJLGDKZJZBDKTCSYQPYHSTCLDJDHMXMCGXYZHJDDTMHLTXZXYLYMOHYJCLTYFBQQXPFBDFHHTKSQHZYYWCNXXCRWHOWG&
&&&&&&&&&&&&+&&YJLEGWDQCWGFJYCSNTMYTOLBYGWQWESJPWNMLRYDZSZTXYQPZGCWXHNGPYXSHMYQJXZTDPPBFYHZHTJYFDZWKGKZBLDNTSXHQEEG&
&&&&&&&&&&&&+&&ZZYLZMMZYJZGXZXKHKSTXNXXWYLYAPSTHXDWHZYMPXAGKYDXBHNHXKDPJNMYHYLPMGOCSLNZHKXXLPZZLBMLSFBHHGYGYYGGBHSC&
&&&&&&&&&&&&+&&YAQTYWLXTZQCEZYDQDQMMHTKLLSZHLSJZWFYHQSWSCWLQAZYNYTLSXTHAZNKZZSZZLAXXZWWCTGQQTDDYZTCCHYQZFLXPSLZYGPZ&
&&&&&&&&&&&&+&&SZNGLNDQTBDLXGTCTAJDKYWNSYZLJHHZZCWNYYZYWMHYCHHYXHJKZWSXHZYXLYSKQYSPSLYZWMYPPKBYGLKZHTYXAXQSYSHXASMC&
&&&&&&&&&&&&+&&HKDSCRSWJPWXSGZJLWWSCHSJHSQNHCSEGNDAQTBAALZZMSSTDQJCJKTSCJAXPLGGXHHGXXZCXPDMMHLDGTYBYSJMXHMRCPXXJZCK&
&&&&&&&&&&&&+&&ZXSHMLQXXTTHXWZFKHCCZDYTCJYXQHLXDHYPJQXYLSYYDZOZJNYXQEZYSQYAYXWYPDGXDDXSPPYZNDLTWRHXYDXZZJHTCXMCZLHP&
&&&&&&&&&&&&+&&YYYYMHZLLHNXMYLLLMDCPPXHMXDKYCYRDLTXJCHHZZXZLCCLYLNZSHZJZZLNNRLWHYQSNJHXYNTTTKYJPYCHHYEGKCTTWLGQRLGG&
&&&&&&&&&&&&+&&TGTYGYHPYHYLQYQGCWYQKPYYYTTTTLHYHLLTYTTSPLKYZXGZWGPYDSSZZDQXSKCQNMJJZZBXYQMJRTFFBTKHZKBXLJJKDXJTLBWF&
&&&&&&&&&&&&+&&ZPPTKQTZTGPDGNTPJYFALQMKGXBDCLZFHZCLLLLADPMXDJHLCCLGYHDZFGYDDGCYYFGYDXKSSEBDHYKDKDKHNAXXYBPBYYHXZQGA&
&&&&&&&&&&&&+&&FFQYJXDMLJCSQZLLPCHBSXGJYNDYBYQSPZWJLZKSDDTACTBXZDYZYPJZQSJNKKTKNJDJGYYPGTLFYQKASDNTCYHBLWDZHBBYDWJR&
&&&&&&&&&&&&+&&YGKZYHEYYFJMSDTYFZJJHGCXPLXHLDWXXJKYTCYKSSSMTWCTTQZLPBSZDZWZXGZAGYKTYWXLHLSPBCLLOQMMZSSLCMBJCSZZKYDC&
&&&&&&&&&&&&+&&ZJGQQDSMCYTZQQLWZQZXSSFPTTFQMDDZDSHDTDWFHTDYZJYQJQKYPBDJYYXTLJHDRQXXXHAYDHRJLKLYTWHLLRLLRCXYLBWSRSZZ&
&&&&&&&&&&&&+&&SYMKZZHHKYHXKSMDSYDYCJPBZBSQLFCXXXNXKXWYWSDZYQOGGQMMYHCDZTTFJYYBGSTTTYBYKJDHKYXBELHTYPJQNFXFDYKZHQKZ&
&&&&&&&&&&&&+&&BYJTZBXHFDXKDASWTAWAJLDYJSFHBLDNNTNQJTJNCHXFJSRFWHZFMDRYJYJWZPDJKZYJYMPCYZNYNXFBYTFYFWYGDBNZZZDNYTXZ&
&&&&&&&&&&&&+&&EMMQBSQEHXFZMBMFLZZSRXYMJGSXWZJSPRYDJSJGXHJJGLJJYNZZJXHGXKYMLPYYYCXYTWQZSWHWLYRJLPXSLSXMFSWWKLCTNXNY&
&&&&&&&&&&&&+&&NPSJSZHDZEPTXMYYWXYYSYWLXJQZQXZDCLEEELMCPJPCLWBXSQHFWWTFFJTNQJHJQDXHWLBYZNFJLALKYYJLDXHHYCSTYYWNRJYX&
&&&&&&&&&&&&+&&YWTRMDRQHWQCMFJDYZMHMYYXJWMYZQZXTLMRSPWWCHAQBXYGZYPXYYRRCLMPYMGKSJSZYSRMYJSNXTPLNBAPPYPYLXYYZKYNLDZY&
&&&&&&&&&&&&+&&JZCZNNLMZHHARQMPGWQTZMXXMLLHGDZXYHXKYXYCJMFFYYHJFSBSSQLXXNDYCANNMTCJCYPRRNYTYQNYYMBMSXNDLYLYSLJRLXYS&
&&&&&&&&&&&&+&&XQMLLYZLZJJJKYZZCSFBZXXMSTBJGNXYZHLXNMCWSCYZYFZLXBRNNNYLBNRTGZQYSATSWRYHYJZMZDHZGZDWYBSSCSKXSYHYTXXG&
&&&&&&&&&&&&+&&CQGXZZSHYXJSCRHMKKBXCZJYJYMKQHZJFNBHMQHYSNJNZYBKNQMCLGQHWLZNZSWXKHLJHYYBQLBFCDSXDLDSPFZPSKJYZWZXZDDX&
&&&&&&&&&&&&+&&JSMMEGJSCSSMGCLXXKYYYLNYPWWWGYDKZJGGGZGGSYCKNJWNJPCXBJJTQTJWDSSPJXZXNZXUMELPXFSXTLLXCLJXJJLJZXCTPSWX&
&&&&&&&&&&&&+&&LYDHLYQRWHSYCSQYYBYAYWJJJQFWQCQQCJQGXALDBZZYJGKGXPLTZYFXJLTPADKYQHPMATLCPDCKBMTXYBHKLENXDLEEGQDYMSAW&
&&&&&&&&&&&&+&&HZMLJTWYGXLYQZLJEEYYBQQFFNLYXRDSCTGJGXYYNKLLYQKCCTLHJLQMKKZGCYYGLLLJDZGYDHZWXPYSJBZKDZGYZZHYWYFQYTYZ&
&&&&&&&&&&&&+&&SZYEZZLYMHJJHTSMQWYZLKYYWZCSRKQYTLTDXWCTYJKLWSQZWBDCQYNCJSRSZJLKCDCDTLZZZACQQZZDDXYPLXZBQJYLZLLLQDDZ&
&&&&&&&&&&&&+&&QJYJYJZYXNYYYNYJXKXDAZWYRDLJYYYRJLXLLDYXJCYWYWNQCCLDDNYYYNYCKCZHXXCCLGZQJGKWPPCQQJYSBZZXYJSQPXJPZBSB&
&&&&&&&&&&&&+&&DSFNSFPZXHDWZTDWPPTFLZZBZDMYYPQJRSDZSQZSQXBDGCPZSWDWCSQZGMDHZXMWWFYBPDGPHTMJTHZSMMBGZMBZJCFZWFZBBZMQ&
&&&&&&&&&&&&+&&CFMBDMCJXLGPNJBBXGYHYYJGPTZGZMQBQTCGYXJXLWZKYDPDYMGCFTPFXYZTZXDZXTGKMTYBBCLBJASKYTSSQYYMSZXFJEWLXLLS&
&&&&&&&&&&&&+&&ZBQJJJAKLYLXLYCCTSXMCWFKKKBSXLLLLJYXTYLTJYYTDPJHNHNNKBYQNFQYYZBYYESSESSGDYHFHWTCJBSDZZTFDMXHCNJZYMQW&
&&&&&&&&&&&&+&&SRYJDZJQPDQBBSTJGGFBKJBXTGQHNGWJXJGDLLTHZHHYYYYYYSXWTYYYCCBDBPYPZYCCZYJPZYWCBDLFWZCWJDXXHYHLHWZZXJTC&
&&&&&&&&&&&&+&&ZLCDPXUJCZZZLYXJJTXPHFXWPYWXZPTDZZBDZCYHJHMLXBQXSBYLRDTGJRRCTTTHYTCZWMXFYTWWZCWJWXJYWCSKYBZSCCTZQNHX&
&&&&&&&&&&&&+&&NWXXKHKFHTSWOCCJYBCMPZZYKBNNZPBZHHZDLSYDDYTYFJPXYNGFXBYQXCBHXCPSXTYZDMKYSNXSXLHKMZXLYHDHKWHXXSSKQYHH&
&&&&&&&&&&&&+&&CJYXGLHZXCSNHEKDTGZXQYPKDHEXTYKCNYMYYYPKQYYYKXZLTHJQTBYQHXBMYHSQCKWWYLLHCYYLNNEQXQWMCFBDCCMLJGGXDQKT&
&&&&&&&&&&&&+&&LXKGNQCDGZJWYJJLYHHQTTTNWCHMXCXWHWSZJYDJCCDBQCDGDNYXZTHCQRXCBHZTQCBXWGQWYYBXHMBYMYQTYEXMQKYAQYRGYZSL&
&&&&&&&&&&&&+&&FYKKQHYSSQYSHJGJCNXKZYCXSBXYXHYYLSTYCXQTHYSMGSCPMMGCCCCCMTZTASMGQZJHKLOSQYLSWTMXSYQKDZLJQQYPLSYCZTCQ&
&&&&&&&&&&&&+&&QPBBQJZCLPKHQZYYXXDTDDTSJCXFFLLCHQXMJLWCJCXTSPYCXNDTJSHJWXDQQJSKXYAMYLSJHMLALYKXCYYDMNMDQMXMCZNNCYBZ&
&&&&&&&&&&&&+&&KKYFLMCHCMLHXRCJJHSYLNMTJZGZGYWJXSRXCWJGJQHQZDQJDCJJZKJKGDZQGJJYJYLXZXXCDQHHHEYTMHLFSBDJSYYSHFYSTCZQ&
&&&&&&&&&&&&+&&LPBDRFRZTZYKYWHSZYQKWDQZRKMSYNBCRXQBJYFAZPZZEDZCJYWBCJWHYJBQSZYWRYSZPTDKZPFPBNZTKLQYHBBZPNPPTYZZYBQN&
&&&&&&&&&&&&+&&YDCPJMMCYCQMCYFZZDCMNLFPBPLNGQJTBTTNJZPZBBZNJKLJQYLNBZQHKSJZNGGQSZZKYXSHPZSNBCGZKDDZQANZHJKDRTLZLSWJ&
&&&&&&&&&&&&+&&LJZLYWTJNDJZJHXYAYNCBGTZCSSQMNJPJYTYSWXZFKWJQTKHTZPLBHSNJZSYZBWZZZZLSYLSBJHDWWQPSLMMFBJDWAQYZTCJTBNN&
&&&&&&&&&&&&+&&WZXQXCDSLQGDSDPDZHJTQQPSWLYYJZLGYXYZLCTCBJTKTYCZJTQKBSJLGMGZDMCSGPYNJZYQYYKNXRPWSZXMTNCSZZYXYBYHYZAX&
&&&&&&&&&&&&+&&YWQCJTLLCKJJTJHGDXDXYQYZZBYWDLWQCGLZGJGQRQZCZSSBCRPCSKYDZNXJSQGXSSJMYDNSTZTPBDLTKZWXQWQTZEXNQCZGWEZK&
&&&&&&&&&&&&+&&SSBYBRTSSSLCCGBPSZQSZLCCGLLLZXHZQTHCZMQGYZQZNMCOCSZJMMZSQPJYGQLJYJPPLDXRGZYXCCSXHSHGTZNLZWZKJCXTCFCJ&
&&&&&&&&&&&&+&&XLBMQBCZZWPQDNHXLJCTHYZLGYLNLSZZPCXDSCQQHJQKSXZPBAJYEMSMJTZDXLCJYRYYNWJBNGZZTMJXLTBSLYRZPYLSSCNXPHLL&
&&&&&&&&&&&&+&&HYLLQQZQLXYMRSYCXZLMMCZLTZSDWTJJLLNZGGQXPFSKYGYGHBFZPDKMWGHCXMSGDXJMCJZDYCABXJDLNBCDQYGSKYDQTXDJJYXM&
&&&&&&&&&&&&+&&SZQAZDZFSLQXYJSJZYLBTXXWXQQZBJZUFBBLYLWDSLJHXJYZJWTDJCZFQZQZZDZSXZZQLZCDZFJHYSPYMPQZMLPPLFFXJJNZZYLS&
&&&&&&&&&&&&+&&JEYQZFPFZKSYWJJJHRDJZZXTXXGLGHYDXCSKYSWMMZCWYBAZBJKSHFHJCXMHFQHYXXYZFTSJYZFXYXPZLCHMZMBXHZZSXYFYMNCW&
&&&&&&&&&&&&+&&DABAZLXKTCSHHXKXJJZJSTHYGXSXYYHHHJWXKZXSSBZZWHHHCWTZZZPJXSNXQQJGZYZYWLLCWXZFXXYXYHXMKYYSWSQMNLNAYCYS&
&&&&&&&&&&&&+&&PMJKHWCQHYLAJJMZXHMMCNZHBHXCLXTJPLTXYJHDYYLTTXFSZHYXXSJBJYAYRSMXYPLCKDUYHLXRLNLLSTYZYYQYGYHHSCCSMZCT&
&&&&&&&&&&&&+&&ZQXKYQFPYYRPFFLKQUNTSZLLZMWWTCQQYZWTLLMLMPWMBZSSTZRBPDDTLQJJBXZCSRZQQYGWCSXFWZLXCCRSZDZMCYGGDZQSGTJS&
&&&&&&&&&&&&+&&WLJMYMMZYHFBJDGYXCCPSHXNZCSBSJYJGJMPPWAFFYFNXHYZXZYLREMZGZCYZSSZDLLJCSQFNXZKPTXZGXJJGFMYYYSNBTYLBNLH&
&&&&&&&&&&&&+&&PFZDCYFBMGQRRSSSZXYSGTZRNYDZZCDGPJAFJFZKNZBLCZSZPSGCYCJSZLMLRSZBZZLDLSLLYSXSQZQLYXZLSKKBRXBRBZCYCXZZ&
&&&&&&&&&&&&+&&ZEEYFGKLZLYYHGZSGZLFJHGTGWKRAAJYZKZQTSSHJJXDCYZUYJLZYRZDQQHGJZXSSZBYKJPBFRTJXLLFQWJHYLQTYMBLPZDXTZYG&
&&&&&&&&&&&&+&&BDHZZRBGXHWNJTJXLKSCFSMWLSDQYSJTXKZSCFWJLBXFTZLLJZLLQBLSQMQQCGCZFPBPHZCZJLPYYGGDTGWDCFCZQYYYQYSSCLXZ&
&&&&&&&&&&&&+&&SKLZZZGFFCQNWGLHQYZJJCZLQZZYJPJZZBPDCCMHJGXDQDGDLZQMFGPSYTSDYFWWDJZJYSXYYCZCYHZWPBYKXRYLYBHKJKSFXTZJ&
&&&&&&&&&&&&+&&MMCKHLLTNYYMSYXYZPYJQYCSYCWMTJJKQYRHLLQXPSGTLYYCLJSCPXJYZFNMLRGJJTYZBXYZMSJYJHHFZQMSYXRSZCWTLRTQZSST&
&&&&&&&&&&&&+&&KXGQKGSPTGCZNJSJCQCXHMXGGZTQYDJKZDLBZSXJLHYQGGGTHQSZPYHJHHGYYGKGGCWJZZYLCZLXQSFTGZSLLLMLJSKCTBLLZZSZ&
&&&&&&&&&&&&+&&MMNYTPZSXQHJCJYQXYZXZQZCPSHKZZYSXCDFGMWQRLLQXRFZTLYSTCTMJCXJJXHJNXTNRZTZFQYHQGLLGCXSZSJDJLJCYDSJTLNY&
&&&&&&&&&&&&+&&XHSZXCGJZYQPYLFHDJSBPCCZHJJJQZJQDYBSSLLCMYTTMQTBHJQNNYGKYRQYQMZGCJKPDCGMYZHQLLSLLCLMHOLZGDYYFZSLJCQZ&
&&&&&&&&&&&&+&&LYLZQJESHNYLLJXGJXLYSYYYXNBZLJSSZCQQCJYLLZLTJYLLZLLBNYLGQCHXYYXOXCXQKYJXXXYKLXSXXYQXCYKQXQCSGYXXYQXY&
&&&&&&&&&&&&+&&GYTQOHXHXPYXXXULCYEYCHZZCBWQBBWJQZSCSZSSLZYLKDESJZWMYMCYTSDSXXSCJPQQSQYLYYZYCMDJDZYWCBTJSYDJKCYDDJLB&
&&&&&&&&&&&&+&&DJJSODZYSYXQQYXDHHGQQYQHDYXWGMMMAJDYBBBPPBCMUUPLJZSMTXERXJMHQNUTPJDCBSSMSSSTKJTSSMMTRCPLZSZMLQDSDMJM&
&&&&&&&&&&&&+&&QPNQDXCFYNBFSDQXYXHYAYKQYDDLQYYYSSZBYDSLNTFQTZQPZMCHDHCZCWFDXTMYQSPHQYYXSRGJCWTJTZZQMGWJJTJHTQJBBHWZ&
&&&&&&&&&&&&+&&PXXHYQFXXQYWYYHYSCDYDHHQMNMTMWCPBSZPPZZGLMZFOLLCFWHMMSJZTTDHZZYFFYTZZGZYSKYJXQYJZQBHMBZZLYGHGFMSHPZF&
&&&&&&&&&&&&+&&ZSNCLPBQSNJXZSLXXFPMTYJYGBXLLDLXPZJYZJYHHZCYWHJYLSJEXFSZZYWXKZJLUYDTMLYMQJPWXYHXSKTQJEZRPXXZHHMHWQPW&
&&&&&&&&&&&&+&&QLYJJQJJZSZCPHJLCHHNXJLQWZJHBMZYXBDHHYPZLHLHLGFWLCHYYTLHJXCJMSCPXSTKPNHQXSRTYXXTESYJCTLSSLSTDLLLWWYH&
&&&&&&&&&&&&+&&DHRJZSFGXTSYCZYNYHTDHWJSLHTZDQDJZXXQHGYLTZPHCSQFCLNJTCLZPFSTPDYNYLGMJLLYCQHYSSHCHYLHQYQTMZYPBYWRFQYK&
&&&&&&&&&&&&+&&QSYSLZDQJMPXYYSSRHZJNYWTQDFZBWWTWWRXCWHGYHXMKMYYYQMSMZHNGCEPMLQQMTCWCTMMPXJPJJHFXYYZSXZHTYBMSTSYJTTQ&
&&&&&&&&&&&&+&&QQYYLHYNPYQZLCYZHZWSMYLKFJXLWGXYPJYTYSYXYMZCKTTWLKSMZSYLMPWLZWXWQZSSAQSYXYRHSSNTSRAPXCPWCMGDXHXZDZYF&
&&&&&&&&&&&&+&&JHGZTTSBJHGYZSZYSMYCLLLXBTYXHBBZJKSSDMALXHYCFYGMQYPJYCQXJLLLJGSLZGQLYCJCCZOTYXMTMTTLLWTGPXYMZMKLPSZZ&
&&&&&&&&&&&&+&&ZXHKQYSXCTYJZYHXSHYXZKXLZWPSQPYHJWPJPWXQQYLXSDHMRSLZZYZWTTCYXYSZZSHBSCCSTPLWSSCJCHNLCGCHSSPHYLHFHHXJ&
&&&&&&&&&&&&+&&SXYLLNYLSZDHZXYLSXLWZYKCLDYAXZCMDDYSPJTQJZLNWQPSSSWCTSTSZLBLNXSMNYYMJQBQHRZWTYYDCHQLXKPZWBGQYBKFCMZW&
&&&&&&&&&&&&+&&PZLLYYLSZYDWHXPSBCMLJBSCGBHXLQHYRLJXYSWXWXZSLDFHLSLYNJLZYFLYJYCDRJLFSYZFSLLCQYQFGJYHYXZLYLMSTDJCYHBZ&
&&&&&&&&&&&&+&&LLNWLXXYGYYHSMGDHXXHHLZZJZXCZZZCYQZFNGWPYLCPKPYYPMCLQKDGXZGGWQBDXZZKZFBXXLZXJTPJPTTBYTSZZDWSLCHZHSLT&
&&&&&&&&&&&&+&&YXHQLHYXXXYYZYSWTXZKHLXZXZPYHGCHKCFSYHUTJRLXFJXPTZTWHPLYXFCRHXSHXKYXXYHZQDXQWULHYHMJTBFLKHTXCWHJFWJC&
&&&&&&&&&&&&+&&FPQRYQXCYYYQYGRPYWSGSUNGWCHKZDXYFLXXHJJBYZWTSXXNCYJJYMSWZJQRMHXZWFQSYLZJZGBHYNSLBGTTCSYBYXXWXYHXYYXN&
&&&&&&&&&&&&+&&SQYXMQYWRGYQLXBBZLJSYLPSYTJZYHYZAWLRORJMKSCZJXXXYXCHDYXRYXXJDTSQFXLYLTSFFYXLMTYJMJUYYYXLTZCSXQZQHZXL&
&&&&&&&&&&&&+&&YYXZHDNBRXXXJCTYHLBRLMBRLLAXKYLLLJLYXXLYCRYLCJTGJCMTLZLLCYZZPZPCYAWHJJFYBDYYZSMPCKZDQYQPBPCJPDCYZMDP&
&&&&&&&&&&&&+&&BCYYDYCNNPLMTMLRMFMMGWYZBSJGYGSMZQQQZTXMKQWGXLLPJGZBQCDJJJFPKJKCXBLJMSWMDTQJXLDLPPBXCWRCQFBFQJCZAHZG&
&&&&&&&&&&&&+&&MYKPHYYHZYKNDKZMBPJYXPXYHLFPNYYGXJDBKXNXHJMZJXSTRSTLDXSKZYSYBZXJLXYSLBZYSLHXJPFXPQNBYLLJQKYGZMCYZZYM&
&&&&&&&&&&&&+&&CCSLCLHZFWFWYXZMWSXTYNXJHPYYMCYSPMHYSMYDYSHQYZCHMJJMZCAAGCFJBBHPLYZYLXXSDJGXDHKXXTXXNBHRMLYJSLTXMRHN&
&&&&&&&&&&&&+&&LXQJXYZLLYSWQGDLBJHDCGJYQYCMHWFMJYBMBYJYJWYMDPWHXQLDYGPDFXXBCGJSPCKRSSYZJMSLBZZJFLJJJLGXZGYXYXLSZQYX&
&&&&&&&&&&&&+&&BEXYXHGCXBPLDYHWETTWWCJMBTXCHXYQXLLXFLYXLLJLSSFWDPZSMYJCLMWYTCZPCHQEKCQBWLCQYDPLQPPQZQFJQDJHYMMCXTXD&
&&&&&&&&&&&&+&&RMJWRHXCJZYLQXDYYNHYYHRSLSRSYWWZJYMTLTLLGTQCJZYABTCKZCJYCCQLJZQXALMZYHYWLWDXZXQDLLQSHGPJFJLJHJABCQZD&
&&&&&&&&&&&&+&&JGTKHSSTCYJLPSWZLXZXRWGLDLZRLZXTGSLLLLZLYXXWGDZYGBDPHZPBRLWSXQBPFDWOFMWHLYPCBJCCLDMBZPBZZLCYQXLDOMZB&
&&&&&&&&&&&&+&&LZWPDWYYGDSTTHCSQSCCRSSSYSLFYBFNTYJSZDFNDPDHDZZMBBLSLCMYFFGTJJQWFTMTPJWFNLBZCMMJTGBDZLQLPYFHYYMJYLSD&
&&&&&&&&&&&&+&&CHDZJWJCCTLJCLDTLJJCPDDSQDSSZYBNDBJLGGJZXSXNLYCYBJXQYCBYLZCFZPPGKCXZDZFZTJJFJSJXZBNZYJQTTYJYHTYCZHYM&
&&&&&&&&&&&&+&&DJXTTMPXSPLZCDWSLSHXYPZGTFMLCJTYCBPMGDKWYCYZCDSZZYHFLYCTYGWHKJYYLSJCXGYWJCBLLCSNDDBTZBSCLYZCZZSSQDLL&
&&&&&&&&&&&&+&&MQYYHFSLQLLXFTYHABXGWNYWYYPLLSDLDLLBJCYXJZMLHLJDXYYQYTDLLLBUGBFDFBBQJZZMDPJHGCLGMJJPGAEHHBWCQXAXHHHZ&
&&&&&&&&&&&&+&&CHXYPHJAXHLPHJPGPZJQCQZGJJZZUZDMQYYBZZPHYHYBWHAZYJHYKFGDPFQSDLZMLJXKXGALXZDAGLMDGXMWZQYXXDXXPFDMMSSY&
&&&&&&&&&&&&+&&MPFMDMMKXKSYZYSHDZKXSYSMMZZZMSYDNZZCZXFPLSTMZDNMXCKJMZTYYMZMZZMSXHHDCZJEMXXKLJSTLWLSQLYJZLLZJSSDPPMH&
&&&&&&&&&&&&+&&NLZJCZYHMXXHGZCJMDHXTKGRMXFWMCGMWKDTKSXQMMMFZZYDKMSCLCMPCGMHSPXQPZDSSLCXKYXTWLWJYAHZJGZQMCSNXYYMMPML&
&&&&&&&&&&&&+&&KJXMHLMLQMXCTKZMJQYSZJSYSZHSYJZJCDAJZYBSDQJZGWZQQXFKDMSDJLFWEHKZQKJPEYPZYSZCDWYJFFMZZYLTTDZZEFMZLBNP&
&&&&&&&&&&&&+&&PLPLPEPSZALLTYLKCKQZKGENQLWAGYXYDPXLHSXQQWQCQXQCLHYXXMLYCCWLYMQYSKGCHLCJNSZKPYZKCQZQLJPDMDZHLASXLBYD&
&&&&&&&&&&&&+&&WQLWDNBQCRYDDZTJYBKBWSZDXDTNPJDTCTQDFXQQMGNXECLTTBKPWSLCTYQLPWYZZKLPYGZCQQPLLKCCYLPQMZCZQCLJSLQZDJXL&
&&&&&&&&&&&&+&&DDHPZQDLJJXZQDXYZQKZLJCYQDYJPPYPQYKJYRMPCBYMCXKLLZLLFQPYLLLMBSGLCYSSLRSYSQTMXYXZQZFDZUYSYZTFFMZZSMZQ&
&&&&&&&&&&&&+&&HZSSCCMLYXWTPZGXZJGZGSJSGKDDHTQGGZLLBJDZLCBCHYXYZHZFYWXYZYMSDBZZYJGTSMTFXQYXQSTDGSLNXDLRYZZLRYYLXQHT&
&&&&&&&&&&&&+&&XSRTZNGZXBNQQZFMYKMZJBZYMKBPNLYZPBLMCNQYZZZSJZHJCTZKHYZZJRDYZHNPXGLFZTLKGJTCTSSYLLGZRZBBQZZKLPKLCZYS&
&&&&&&&&&&&&+&&SUYXBJFPNJZZXCDWXZYJXZZDJJKGGRSRJKMSMZJLSJYWQSKYHQJSXPJZZZLSNSHRNYPZTWCHKLPSRZLZXYJQXQKYSJYCZTLQZYBB&
&&&&&&&&&&&&+&&YBWZPQDWWYZCYTJCJXCKCWDKKZXSGKDZXWWYYJQYYTCYTDLLXWKCZKKLCCLZCQQDZLQLCSFQCHQHSFSMQZZLNBJJZBSJHTSZDYSJ&
&&&&&&&&&&&&+&&QJPDLZCDCWJKJZZLPYCGMZWDJJBSJQZSYZYHHXJPBJYDSSXDZNCGLQMBTSFSBPDZDLZNFGFJGFSMPXJQLMBLGQCYYXBQKDJJQYRF&
&&&&&&&&&&&&+&&KZTJDHCZKLBSDZCFJTPLLJGXHYXZCSSZZXSTJYGKGCKGYOQXJPLZPBPGTGYJZGHZQZZLBJLSQFZGKQQJZGYCZBZQTLDXRJXBSXXP&
&&&&&&&&&&&&+&&ZXHYZYCLWDXJJHXMFDZPFZHQHQMQGKSLYHTYCGFRZGNQXCLPDLBZCSCZQLLJBLHBZCYPZZPPDYMZZSGYHCKCPZJGSLJLNSCDSLDL&
&&&&&&&&&&&&+&&XBMSTLDDFJMKDJDHZLZXLSZQPQPGJLLYBDSZGQLBZLSLKYYHZTTNTJYQTZZPSZQZTLLJTYYLLQLLQYZQLBDZLSLYYZYMDFSZSNHL&
&&&&&&&&&&&&+&&XZNCZQZPBWSKRFBSYZMTHBLGJPMCZZLSTLXSHTCSYZLZBLFEQHLXFLCJLYLJQCBZLZJHHSSTBRMHXZHJZCLXFNBGXGTQJCZTMSFZ&
&&&&&&&&&&&&+&&KJMSSNXLJKBHSJXNTNLZDNTLMSJXGZJYJCZXYJYJWRWWQNZTNFJSZPZSHZJFYRDJSFSZJZBJFZQZZHZLXFYSBZQLZSGYFTZDCSZX&
&&&&&&&&&&&&+&&ZJBQMSZKJRHYJZCKMJKHCHGTXKXQGLXPXFXTRTYLXJXHDTSJXHJZJXZWZLCQSBTXWXGXTXXHXFTSDKFJHZYJFJXRZSDLLLTQSQQZ&
&&&&&&&&&&&&+&&QWZXSYQTWGWBZCGZLLYZBCLMQQTZHZXZXLJFRMYZFLXYSQXXJKXRMQDZDMMYYBSQBHGZMWFWXGMXLZPYYTGZYCCDXYZXYWGSYJYZ&
&&&&&&&&&&&&+&&NBHPZJSQSYXSXRTFYZGRHZTXSZZTHCBFCLSYXZLZQMZLMPLMXZJXSFLBYZMYQHXJSXRXSQZZZSSLYFRCZJRCRXHHZXQYDYHXSJJH&
&&&&&&&&&&&&+&&ZCXZBTYNSYSXJBQLPXZQPYMLXZKYXLXCJLCYSXXZZLXDLLLJJYHZXGYJWKJRWYHCPSGNRZLFZWFZZNSXGXFLZSXZZZBFCSYJDBRJ&
&&&&&&&&&&&&+&&KRDHHGXJLJJTGXJXXSTJTJXLYXQFCSGSWMSBCTLQZZWLZZKXJMLTMJYHSDDBXGZHDLBMYJFRZFSGCLYJBPMLYSMSXLSZJQQHJZFX&
&&&&&&&&&&&&+&&GFQFQBPXZGYYQXGZTCQWYLTLGWSGWHRLFSFGZJMGMGBGTJFSYZZGZYZAFLSSPMLPFLCWBJZCLJJMZLPJJLYMQDMYYYFBGYGYZMLY&
&&&&&&&&&&&&+&&ZDXQYXRQQQHSYYYQXYLJTYXFSFSLLGNQCYHYCWFHCCCFXPYLYPLLZYXXXXXKQHHXSHJZCFZSCZJXCPZWHHHHHAPYLQALPQAFYHXD&
&&&&&&&&&&&&+&&YLUKMZQGGGDDESRNNZLTZGCHYPPYSQJJHCLLJTOLNJPZLJLHYMHEYDYDSQYCDDHGZUNDZCLZYZLLZNTNYZGSLHSLPJJBDGWXPCDU&
&&&&&&&&&&&&+&&TJCKLKCLWKLLCASSTKZZDNQNTTLYYZSSYSSZZRYLJQKCQDHHCRXRZYDGRGCWCGZQFFFPPJFZYNAKRGYWYQPQXXFKJTSZZXSWZDDF&
&&&&&&&&&&&&+&&BBXTBGTZKZNPZZPZXZPJSZBMQHKCYXYLDKLJNYPKYGHGDZJXXEAHPNZKZTZCMXCXMMJXNKSZQNMNLWBWWXJKYHCPSTMCSQTZJYXT&
&&&&&&&&&&&&+&&PCTPDTNNPGLLLZSJLSPBLPLQHDTNJNLYYRSZFFJFQWDPHZDWMRZCCLODAXNSSNYZRESTYJWJYJDBCFXNMWTTBYLWSTSZGYBLJPXG&
&&&&&&&&&&&&+&&LBOCLHPCBJLTMXZLJYLZXCLTPNCLCKXTPZJSWCYXSFYSZDKNTLBYJCYJLLSTGQCBXRYZXBXKLYLHZLQZLNZCXWJZLJZJNCJHXMNZ&
&&&&&&&&&&&&+&&ZGJZZXTZJXYCYYCXXJYYXJJXSSSJSTSSTTPPGQTCSXWZDCSYFPTFBFHFBBLZJCLZZDBXGCXLQPXKFZFLSYLTUWBMQJHSZBMDDBCY&
&&&&&&&&&&&&+&&SCCLDXYCDDQLYJJWMQLLCSGLJJSYFPYYCCYLTJANTJJPWYCMMGQYYSXDXQMZHSZXPFTWWZQSWQRFKJLZJQQYFBRXJHHFWJJZYQAZ&
&&&&&&&&&&&&+&&MYFRHCYYBYQWLPEXCCZSTYRLTTDMQLYKMBBGMYYJPRKZNPBSXYXBHYZDJDNGHPMFSGMWFZMFQMMBCMZZCJJLCNUXYQLMLRYGQZCY&
&&&&&&&&&&&&+&&XZLWJGCJCGGMCJNFYZZJHYCPRRCMTZQZXHFQGTJXCCJEAQCRJYHPLQLSZDJRBCQHQDYRHYLYXJSYMHZYDWLDFRYHBPYDTSSCNWBX&
&&&&&&&&&&&&+&&GLPZMLZZTQSSCPJMXXYCSJYTYCGHYCJWYRXXLFEMWJNMKLLSWTXHYYYNCMMCWJDQDJZGLLJWJRKHPZGGFLCCSCZMCBLTBHBQJXQD&
&&&&&&&&&&&&+&&SPDJZZGKGLFQYWBZYZJLTSTDHQHCTCBCHFLQMPWDSHYYTQWCNZZJTLBYMBPDYYYXSQKXWYYFLXXNCWCXYPMAELYKKJMZZZBRXYYQ&
&&&&&&&&&&&&+&&JFLJPFHHHYTZZXSGQQMHSPGDZQWBWPJHZJDYSCQWZKTXXSQLZYYMYSDZGRXCKKUJLWPYSYSCSYZLRMLQSYLJXBCXTLWDQZPCYCYK&
&&&&&&&&&&&&+&&PPPNSXFYZJJRCEMHSZMSXLXGLRWGCSTLRSXBZGBZGZTCPLUJLSLYLYMTXMTZPALZXPXJTJWTCYYZLBLXBZLQMYLXPGHDSLSSDMXM&
&&&&&&&&&&&&+&&BDZZSXWHAMLCZCPJMCNHJYSNSYGCHSKQMZZQDLLKABLWJXSFMOCDXJRRLYQZKJMYBYQLYHETFJZFRFKSRYXFJTWDSXXSYSQJYSLY&
&&&&&&&&&&&&+&&XWJHSNLXYYXHBHAWHHJZXWMYLJCSSLKYDZTXBZSYFDXGXZJKHSXXYBSSXDPYNZWRPTQZCZENYGCXQFJYKJBZMLJCMQQXUOXSLYXX&
&&&&&&&&&&&&+&&LYLLJDZBTYMHPFSTTQQWLHOKYBLZZALZXQLHZWRRQHLSTMYPYXJJXMQSJFNBXYXYJXXYQYLTHYLQYFMLKLJTMLLHSZWKZHLJMLHL&
&&&&&&&&&&&&+&&JKLJSTLQXYLMBHHLNLZXQJHXCFXXLHYHJJGBYZZKBXSCQDJQDSUJZYYHZHHMGSXCSYMXFEBCQWWRBPYYJQTYZCYQYQQZYHMWFFHG&
&&&&&&&&&&&&+&&ZFRJFCDPXNTQYZPDYKHJLFRZXPPXZDBBGZQSTLGDGYLCQMLCHHMFYWLZYXKJLYPQHSYWMQQGQZMLZJNSQXJQSYJYCBEHSXFSZPXZ&
&&&&&&&&&&&&+&&WFLLBCYYJDYTDTHWZSFJMQQYJLMQXXLLDTTKHHYBFPWTYYSQQWNQWLGWDEBZWCMYGCULKJXTMXMYJSXHYBRWFYMWFRXYQMXYSZTZ&
&&&&&&&&&&&&+&&ZTFYKMLDHQDXWYYNLCRYJBLPSXCXYWLSPRRJWXHQYPHTYDNXHHMMYWYTZCSQMTSSCCDALWZTCPQPYJLLQZYJSWXMZZMMYLMXCLMX&
&&&&&&&&&&&&+&&CZMXMZSQTZPPQQBLPGXQZHFLJJHYTJSRXWZXSCCDLXTYJDCQJXSLQYCLZXLZZXMXQRJMHRHZJBHMFLJLMLCLQNLDXZLLLPYPSYJY&
&&&&&&&&&&&&+&&SXCQQDCMQJZZXHNPNXZMEKMXHYKYQLXSXTXJYYHWDCWDZHQYYBGYBCYSCFGPSJNZDYZZJZXRZRQJJYMCANYRJTLDPPYZBSTJKXXZ&
&&&&&&&&&&&&+&&YPFDWFGZZRPYMTNGXZQBYXNBUFNQKRJQZMJEGRZGYCLKXZDSKKNSXKCLJSPJYYZLQQJYBZSSQLLLKJXTBKTYLCCDDBLSPPFYLGYD&
&&&&&&&&&&&&+&&TZJYQGGKQTTFZXBDKTYYHYBBFYTYYBCLPDYTGDHRYRNJSPTCSNYJQHKLLLZSLYDXXWBCJQSPXBPJZJCJDZFFXXBRMLAZHCSNDLBJ&
&&&&&&&&&&&&+&&DSZBLPRZTSWSBXBCLLXXLZDJZSJPYLYXXYFTFFFBHJJXGBYXJPMMMPSSJZJMTLYZJXSWXTYLEDQPJMYGQZJGDJLQJWJQLLSJGJGY&
&&&&&&&&&&&&+&&GMSCLJJXDTYGJQJQJCJZCJGDZZSXQGSJGGCXHQXSNQLZZBXHSGZXCXYLJXYXYYDFQQJHJFXDHCTXJYRXYSQTJXYEFYYSSYYJXNCY&
&&&&&&&&&&&&+&&ZXFXMSYSZXYYSCHSHXZZZGZZZGFJDLTYLNPZGYJYZYYQZPBXQBDZTZCZYXXYHHSQXSHDHGQHJHGYWSZTMZMLHYXGEBTYLZKQWYTJ&
&&&&&&&&&&&&+&&ZRCLEKYSTDBCYKQQSAYXCJXWWGSBHJYZYDHCSJKQCXSWXFLTYNYZPZCCZJQTZWJQDZZZQZLJJXLSBHPYXXPSXSHHEZTXFPTLQYZZ&
&&&&&&&&&&&&+&&XHYTXNCFZYYHXGNXMYWXTZSJPTHHGYMXMXQZXTSBCZYJYXXTYYZYPCQLMMSZMJZZLLZXGXZAAJZYXJMZXWDXZSXZDZXLEYJJZQBH&
&&&&&&&&&&&&+&&ZWZZZQTZPSXZTDSXJJJZNYAZPHXYYSRNQDTHZHYYKYJHDZXZLSWCLYBZYECWCYCRYLCXNHZYDZYDYJDFRJJHTRSQTXYXJRJHOJYN&
&&&&&&&&&&&&+&&XELXSFSFJZGHPZSXZSZDZCQZBYYKLSGSJHCZSHDGQGXYZGXCHXZJWYQWGYHKSSEQZZNDZFKWYSSTCLZSTSYMCDHJXXYWEYXCZAYD&
&&&&&&&&&&&&+&&MPXMDSXYBSQMJMZJMTZQLPJYQZCGQHXJHHLXXHLHDLDJQCLDWBSXFZZYYSCHTYTYYBHECXHYKGJPXHHYZJFXHWHBDZFYZBCAPNPG&
&&&&&&&&&&&&+&&NYDMSXHMMMMAMYNBYJTMPXYYMCTHJBZYFCGTYHWPHFTWZZEZSBZEGPFMTSKFTYCMHFLLHGPZJXZJGZJYXZSBBQSCZZLZCCSTPGXM&
&&&&&&&&&&&&+&&JSFTCCZJZDJXCYBZLFCJSYZFGSZLYBCWZZBYZDZYPSWYJZXZBDSYUXLZZBZFYGCZXBZHZFTPBGZGEJBSTGKDMFHYZZJHZLLZZGJQ&
&&&&&&&&&&&&+&&ZLSFDJSSCBZGPDLFZFZSZYZYZSYGCXSNXXCHCZXTZZLJFZGQSQYXZJQDCCZTQCDXZJYQJQCHXZTDLGSCXZSYQJQTZWLQDQZTQCHQ&
&&&&&&&&&&&&+&&QJZYEZZZPBWKDJFCJPZTYPQYQTTYNLMBDKTJZPQZQZZFPZSBNJLGYJDXJDZZKZGQKXDLPZJTCJDQBXDJQJSTCKNXBXZMSLYJCQMT&
&&&&&&&&&&&&+&&JQWWCJQNJNLLLHJCWQTBZQYDZCZPZZDZYDDCYZZZCCJTTJFZDPRRTZTJDCQTQZDTJNPLZBCLLCTZSXKJZQZPZLBZRBTJDCXFCZDB&
&&&&&&&&&&&&+&&CCJJLTQQPLDCGZDBBZJCQDCJWYNLLZYZCCDWLLXWZLXRXNTQQCZXKQLSGDFQTDDGLRLAJJTKUYMKQLLTZYTDYYCZGJWYXDXFRSKS&
&&&&&&&&&&&&+&&TQTENQMRKQZHHQKDLDAZFKYPBGGPZREBZZYKZZSPEGJXGYKQZZZSLYSYYYZWFQZYLZZLZHWCHKYPQGNPGBLPLRRJYXCCSYYHSFZF&
&&&&&&&&&&&&+&&YBZYYTGZXYLXCZWXXZJZBLFFLGSKHYJZEYJHLPLLLLCZGXDRZELRHGKLZZYHZLYQSZZJZQLJZFLNBHGWLCZCFJYSPYXZLZLXGCCP&
&&&&&&&&&&&&+&&ZBLLCYBBBBUBBCBPCRNNZCZYRBFSRLDCGQYYQXYGMQZWTZYTYJXYFWTEHZZJYWLCCNTZYJJZDEDPZDZTSYQJHDYMBJNYJZLXTSST&
&&&&&&&&&&&&+&&PHNDJXXBYXQTZQDDTJTDYYTGWSCSZQFLSHLGLBCZPHDLYZJYCKWTYTYLBNYTSDSYCCTYSZYYEBHEXHQDTWNYGYCLXTSZYSTQMYGZ&
&&&&&&&&&&&&+&&AZCCSZZDSLZCLZRQXYYELJSBYMXSXZTEMBBLLYYLLYTDQYSHYMRQWKFKBFXNXSBYCHXBWJYHTQBPBSBWDZYLKGZSKYHXQZJXHXJX&
&&&&&&&&&&&&+&&GNLJKZLYYCDXLFYFGHLJGJYBXQLYBXQPQGZTZPLNCYPXDJYQYDYMRBESJYYHKXXSTMXRCZZYWXYQYBMCLLYZHQYZWQXDBXBZWZMS&
&&&&&&&&&&&&+&&LPDMYSKFMZKLZCYQYCZLQXFZZYDQZPZYGYJYZMZXDZFYFYTTQTZHGSPCZMLCCYTZXJCYTJMKSLPZHYSNZLLYTPZCTZZCKTXDHXXT&
&&&&&&&&&&&&+&&QCYFKSMQCCYYAZHTJPCYLZLYJBJXTPNYLJYYNRXSYLMMNXJSMYBCSYSYLZYLXJJQYLDZLPQBFZZBLFNDXQKCZFYWHGQMRDSXYCYT&
&&&&&&&&&&&&+&&XNQQJZYYPFZXDYZFPRXEJDGYQBXRCNFYYQPGHYJDYZXGRHTKYLNWDZNTSMPKLBTHBPYSZBZTJZSZZJTYYXZPHSSZZBZCZPTQFZMY&
&&&&&&&&&&&&+&&FLYPYBBJQXZMXXDJMTSYSKKBJZXHJCKLPSMKYJZCXTMLJYXRZZQSLXXQPYZXMKYXXXJCLJPRMYYGADYSKQLSNDHYZKQXZYZTCGHZ&
&&&&&&&&&&&&+&&TLMLWZYBWSYCTBHJHJFCWZTXWYTKZLXQSHLYJZJXTMPLPYCGLTBZZTLZJCYJGDTCLKLPLLQPJMZPAPXYZLKKTKDZCZZBNZDYDYQZ&
&&&&&&&&&&&&+&&JYJGMCTXLTGXSZLMLHBGLKFWNWZHDXUHLFMKYSLGXDTWWFRJEJZTZHYDXYKSHWFZCQSHKTMQQHTZHYMJDJSKHXZJZBZZXYMPAGQM&
&&&&&&&&&&&&+&&STPXLSKLZYNWRTSQLSZBPSPSGZWYHTLKSSSWHZZLYYTNXJGMJSZSUFWNLSOZTXGXLSAMMLBWLDSZYLAKQCQCTMYCFJBSLXCLZZCL&
&&&&&&&&&&&&+&&XXKSBZQCLHJPSQPLSXXCKSLNHPSFQQYTXYJZLQLDXZQJZDYYDJNZPTUZDSKJFSLJHYLZSQZLBTXYDGTQFDBYAZXDZHZJNHHQBYKN&
&&&&&&&&&&&&+&&XJJQCZMLLJZKSPLDYCLBBLXKLELXJLBQYCXJXGCNLCQPLZLZYJTZLJGYZDZPLTQCSXFDMNYCXGBTJDCZNBGBQYQJWGKFHTNPYQZQ&
&&&&&&&&&&&&+&&GBKPBBYZMTJDYTBLSQMPSXTBNPDXKLEMYYCJYNZCTLDYKZZXDDXHQSHDGMZSJYCCTAYRZLPYLTLKXSLZCGGEXCLFXLKJRTLQJAQZ&
&&&&&&&&&&&&+&&NCMBYDKKCXGLCZJZXJHPTDJJMZQYKQSECQZDSHHADMLZFMMZBGNTJNNLGBYJBRBTMLBYJDZXLCJLPLDLPCQDHLXZLYCBLCXZZJAD&
&&&&&&&&&&&&+&&JLNZMMSSSMYBHBSQKBHRSXXJMXSDZNZPXLGBRHWGGFCXGMSKLLTSJYYCQLTSKYWYYHYWXBXQYWPYWYKQLSQPTNTKHQCWDQKTWPXX&
&&&&&&&&&&&&+&&HCPTHTWUMSSYHBWCRWXHJMKMZNGWTMLKFGHKJYLSYYCXWHYECLQHKQHTTQKHFZLDXQWYZYYDESBPKYRZPJFYYZJCEQDZZDLATZBB&
&&&&&&&&&&&&+&&FJLLCXDLMJSSXEGYGSJQXCWBXSSZPDYZCXDNYXPPZYDLYJCZPLTXLSXYZYRXCYYYDYLWWNZSAHJSYQYHGYWWAXTJZDAXYSRLTDPS&
&&&&&&&&&&&&+&&SYYFNEJDXYZHLXLLLZQZSJNYQYQQXYJGHZGZCYJCHZLYCDSHWSHJZYJXCLLNXZJJYYXNFXMWFPYLCYLLABWDDHWDXJMCXZTZPMLQ&
&&&&&&&&&&&&+&&ZHSFHZYNZTLLDYWLSLXHYMMYLMBWWKYXYADTXYLLDJPYBPWUXJMWMLLSAFDLLYFLBHHHBQQLTZJCQJLDJTFFKMMMBYTHYGDCQRDD&
&&&&&&&&&&&&+&&WRQJXNBYSNWZDBYYTBJHPYBYTTJXAAHGQDQTMYSTQXKBTZPKJLZRBEQQSSMJJBDJOTGTBXPGBKTLHQXJJJCTHXQDWJLWRFWQGWSH&
&&&&&&&&&&&&+&&CKRYSWGFTGYGBXSDWDWRFHWYTJJXXXJYZYSLPYYYPAYXHYDQKXSHXYXGSKQHYWFDDDPPLCJLQQEEWXKSYYKDYPLTJTHKJLTCYYHH&
&&&&&&&&&&&&+&&JTTPLTZZCDLTHQKZXQYSTEEYWYYZYXXYYSTTJKLLPZMCYHQGXYHSRMBXPLLNQYDQHXSXXWGDQBSHYLLPJJJTHYJKYPPTHYYKTYEZ&
&&&&&&&&&&&&+&&YENMDSHLCRPQFDGFXZPSFTLJXXJBSWYYSKSFLXLPPLBBBLBSFXFYZBSJSSYLPBBFFFFSSCJDSTZSXZRYYSYFFSYZYZBJTBCTSBSD&
&&&&&&&&&&&&+&&HRTJJBYTCXYJEYLXCBNEBJDSYXYKGSJZBXBYTFZWGENYHHTHZHHXFWGCSTBGXKLSXYWMTMBYXJSTZSCDYQRCYTWXZFHMYMCXLZNS&
&&&&&&&&&&&&+&&DJTTTXRYCFYJSBSDYERXJLJXBBDEYNJGHXGCKGSCYMBLXJMSZNSKGXFBNBPTHFJAAFXYXFPXMYPQDTZCXZZPXRSYWZDLYBBKTYQP&
&&&&&&&&&&&&+&&QJPZYPZJZNJPZJLZZFYSBTTSLMPTZRTDXQSJEHBZYLZDHLJSQMLHTXTJECXSLZZSPKTLZKQQYFSYGYWPCPQFHQHYTQXZKRSGTTSQ&
&&&&&&&&&&&&+&&CZLPTXCDYYZXSQZSLXLZMYCPCQBZYXHBSXLZDLTCDXTYLZJYYZPZYZLTXJSJXHLPMYTXCQRBLZSSFJZZTNJYTXMYJHLHPPLCYXQJ&
&&&&&&&&&&&&+&&QQKZZSCPZKSWALQSBLCCZJSXGWWWYGYKTJBBZTDKHXHKGTGPBKQYSLPXPJCKBMLLXDZSTBKLGGQKQLSBKKTFXRMDKBFTPZFRTBBR&
&&&&&&&&&&&&+&&FERQGXYJPZSSTLBZTPSZQZSJDHLJQLZBPMSMMSXLQQNHKNBLRDDNXXDHDDJCYYGYLXGZLXSYGMQQGKHBPMXYXLYTQWLWGCPBMQXC&
&&&&&&&&&&&&+&&YZYDRJBHTDJYHQSHTMJSBYPLWHLZFFNYPMHXXHPLTBQPFBJWQDBYGPNZTPFZJGSDDTQSHZEAWZZYLLTYYBWJKXXGHLFKXDJTMSZS&
&&&&&&&&&&&&+&&QYNZGGSWQSPHTLSSKMCLZXYSZQZXNCJDQGZDLFNYKLJCJLLZLMZZNHYDSSHTHZZLZZBBHQZWWYCRZHLYQQJBEYFXXXWHSRXWQHWP&
&&&&&&&&&&&&+&&SLMSSKZTTYGYQQWRSLALHMJTQJSMXQBJJZJXZYZKXBYQXBJXSHZTSFJLXMXZXFGHKZSZGGYLCLSARJYHSLLLMZXELGLXYDJYTLFB&
&&&&&&&&&&&&+&&HBPNLYZFBBHPTGJKWETZHKJJXZXXGLLJLSTGSHJJYQLQZFKCGNNDJSSZFDBCTWWSEQFHQJBSAQTGYPQLBXBMMYWXGSLZHGLZGQYF&
&&&&&&&&&&&&+&&LZBYFZJFRYSFMBYZHQGFWZSYFYJJPHZBYYZFFWODGRLMFTWLBZGYCQXCDJYGZYYYYTYTYDWEGAZYHXJLZYYHLRMGRXXZCLHNELJJ&
&&&&&&&&&&&&+&&TJTPWJYBJJBXJJTJTEEKHWSLJPLPSFYZPQQBDLQJJTYYQLYZKDKSQJYYQZLDQTGJQYZJSUCMRYQTHTEJMFCTYHYPKMHYZWJDQFHY&
&&&&&&&&&&&&+&&YXWSHCTXRLJHQXHCCYYYJLTKTTYTMXGTCJTZAYYOCZLYLBSZYWJYTSJYHBYSHFJLYGJXXTMZYYLTXXYPZLXYJZYZYYPNHMYMDYYL&
&&&&&&&&&&&&+&&BLHLSYYQQLLNJJYMSOYQBZGDLYXYLCQYXTSZEGXHZGLHWBLJHEYXTWQMAKBPQCGYSHHEGQCMWYYWLJYJHYYZLLJJYLHZYHMGSLJL&
&&&&&&&&&&&&+&&JXCJJYCLYCJPCPZJZJMMYLCQLNQLJQJSXYJMLSZLJQLYCMMHCFMMFPQQMFYLQMCFFQMMMMHMZNFHHJGTTHHKHSLNCHHYQDXTMMQD&
&&&&&&&&&&&&+&&CYZYXYQMYQYLTDCYYYZAZZCYMZYDLZFFFMMYCQZWZZMABTBYZTDMNZZGGDFTYPCGQYTTSSFFWFDTZQSSYSTWXJHXYTSXXYLBYQHW&
&&&&&&&&&&&&+&&WKXHZXWZNNZZJZJJQJCCCHYYXBZXZCYZTLLCQXYNJYCYYCYNZZQYYYEWYCZDCJYCCHYJLBTZYYCQWMPWPYMLGKDLDLGKQQBGYCHJ&
&&&&&&&&&&&&+&&XY&;
&&ChinesePinYin.cs&&
⑶改造一下这个匹配方法:
&&&&&&&&///&&summary&
&&&&&&&&///&这个方法是关键。只需要将itemText改造一下即可。
&&&&&&&&///&&/summary&
&&&&&&&&///&&param&name=&itemText&&&/param&
&&&&&&&&///&&param&name=&query&&&/param&
&&&&&&&&///&&returns&&/returns&
&&&&&&&&int&GetMatchQuality(string&itemText,&string&query)
&&&&&&&&&&&&//……
//要注意一点:如果在头部改,则用户输入汉字反而会失效,
//因此只有当找不到匹配时,在尾部再用拼音首字母匹配一次。
&&&&&&& ///============================这个方法改成几个方法========================
&&&&&&&&///&&summary&
&&&&&&&&///&取Unicode字符的拼音首字母。
&&&&&&&&///&&/summary&
&&&&&&&&///&&param&name=&c&&要取拼音首字符的Unicode字符。&/param&
&&&&&&&&///&&returns&拼音首字母。&/returns&
&&&&&&&&char&GetFirstPinYinAlpha(char&c)
&&&&&&&&&&&&//不需要考虑GB2312还是什么,反正代码都是Unicode的。
&&&&&&&&&&&&
&&&&&&&&&&&&////TODO: 这里还需要编写相关代码来根据汉字的区间来判断返回哪个首字母,现在还只有两个字的示例。
&&&&&&&&&&&&//if(c == '爱')return 'a';
&&&&&&&&&&&&//if(c == '情')return 'q';
&&&&&&&&&&&&
&&&&&&&&&&&&return&ChinesePinYin.GetFirstAlphaOfChinesePinYin(c);
&&&&&&&&///&&summary&
&&&&&&&&///&将itemText转换为拼音首字母列表字串的形式。
&&&&&&&&///&&/summary&
&&&&&&&&///&&param&name=&itemText&&要转换为拼音首字母的字符串。&/param&
&&&&&&&&///&&returns&返回转换后的字串。如:“a接口”会被转换成:ajk&/returns&
&&&&&&&&string&FormatToFirstPinYinAlphaList(string&itemText)
&&&&&&&&&&&&if(string.IsNullOrEmpty(itemText))return&
&&&&&&&&&&&&
&&&&&&&&&&&&StringBuilder sb =&new&StringBuilder();
&&&&&&&&&&&&foreach(char&c&in&itemText)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&sb.Append(GetFirstPinYinAlpha(c));
&&&&&&&&&&&&}
&&&&&&&&&&&&
&&&&&&&&&&&&return&sb.ToString();
&&&&&&&&///&&summary&
&&&&&&&&///&这个方法是关键。只需要将itemText改造一下即可。
&&&&&&&&///&&/summary&
&&&&&&&&///&&param&name=&itemText&&&/param&
&&&&&&&&///&&param&name=&query&&&/param&
&&&&&&&&///&&returns&&/returns&
&&&&&&&&int&GetMatchQuality(string&itemText,&string&query)
&&&&&&&&&&&&if&(itemText ==&null)
&&&&&&&&&&&&&&&&throw&new&ArgumentNullException(&itemText&,&&ICompletionData.Text returned null&);
&&&&&&&&&&&&
&&&&&&&&&&&&int&result =&InnerMartchQuality(itemText,&query);
&&&&&&&&&&&&
&&&&&&&&&&&&if(result ==&-1)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&//如果取不到,再考虑是否需要取拼音首字母。——如果放在此方法头部转换,则汉字变量只能用拼音首字母完成了。
&&&&&&&&&&&&&&&&//对itemText进行一下转码即可。
&&&&&&&&&&&&&&&&itemText =&FormatToFirstPinYinAlphaList(itemText);
&&&&&&&&&&&&&&&&return&InnerMartchQuality(itemText,&query);
&&&&&&&&&&&&}
&&&&&&&&&&&&else&return&
&&&&&&&&///&Qualities:
&&&&&&&&///&&&&&&8 = full match case sensitive
&&&&&&&&///&&&&&&&&&7 = full match
&&&&&&&&///&&&&&&&&&6 = match start case sensitive
&&&&&&&&///&&&&&&&&5 = match start
&&&&&&&&///&&&&&&&&4 = match CamelCase when length of query is 1 or 2 characters
&&&&&&&&///&&&&&&&&&3 = match substring case sensitive
&&&&&&&&///&&&&&&&&2 = match sustring
&&&&&&&&///&&&&&&&&1 = match CamelCase
&&&&&&&&///&&&&&&&&-1 = no match
&&&&&&&&///&search by substring, if filtering (i.e. new behavior) turned on
&&&&&&&&int&InnerMartchQuality(string&itemText,&string&query)
&&&&&&&&&&&&//将query中的全角英文和数字转换为半角英文和数字。
&&&&&&&&&&&&query = ChinesePinYin.FatAlphaAndNumbersToThin(query);
&&&&&&&&&&&&
&&&&&&&&&&&&if&(query == itemText)
&&&&&&&&&&&&&&&&return&8;
&&&&&&&&&&&&if&(string.Equals(itemText,&query,&StringComparison.InvariantCultureIgnoreCase))
&&&&&&&&&&&&&&&&return&7;
&&&&&&&&&&&&if&(itemText.StartsWith(query,&StringComparison.InvariantCulture))
&&&&&&&&&&&&&&&&return&6;
&&&&&&&&&&&&if&(itemText.StartsWith(query,&StringComparison.InvariantCultureIgnoreCase))
&&&&&&&&&&&&&&&&return&5;
&&&&&&&&&&&&bool?&camelCaseMatch =&
&&&&&&&&&&&&if&(query.Length&&=&2)&{
&&&&&&&&&&&&&&&&camelCaseMatch =&CamelCaseMatch(itemText,&query);
&&&&&&&&&&&&&&&&if&(camelCaseMatch ==&true)
&&&&&&&&&&&&&&&&&&&&return&4;
&&&&&&&&&&&&}
&&&&&&&&&&&&if&(IsFiltering)&{
&&&&&&&&&&&&&&&&if&(itemText.IndexOf(query,&StringComparison.InvariantCulture)&&=&0)
&&&&&&&&&&&&&&&&&&&&return&3;
&&&&&&&&&&&&&&&&if&(itemText.IndexOf(query,&StringComparison.InvariantCultureIgnoreCase)&&=&0)
&&&&&&&&&&&&&&&&&&&&return&2;
&&&&&&&&&&&&}
&&&&&&&&&&&&if&(!camelCaseMatch.HasValue)
&&&&&&&&&&&&&&&&camelCaseMatch =&CamelCaseMatch(itemText,&query);
&&&&&&&&&&&&if&(camelCaseMatch ==&true)
&&&&&&&&&&&&&&&&return&1;
&&&&&&&&&&&&
&&&&&&&&&&&&return&-1;
⑷最后编译一下,再用新的dll文件置换掉安装的SharpDevelop安装目录下这个dll文件(可以省去再打包的麻烦):
&&ICSharpCode.AvalonEdit.dll&&
共有1个评论
<span class="a_vote_num" id="a_vote_num_
相当不错,我正在研究这个实现方法,搜到了你的文章,可以一起交流下SharpDevelop开发吗,我的QQ:
更多开发者职位上
有什么技术问题吗?
帆船的其他问题}

我要回帖

更多关于 汉语拼音字母表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信