资源简介

在一个项目总ComboBox中有很多项目,用户查找非常麻烦,系统自带的快速定位是匹配首字母,使用起来非常不方便。网上找了很多,都是基于Items.Add()的方式,这种方式不支持数据源的键值对应。所以自己写了一个,发上来给大家分享!

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Text;

namespace Socg
{
public class Common
{
#region public static char GetChineseSpell()----提取汉字的拼音首字母
/// 
/// 将Asc码转换为拼音首字母。
/// 如果 Asc 小于256,则原样返回
/// 如果 转换失败,则返回“*“。如:中文标点符号
/// 速度:25000000次/秒
/// 

/// 字符的Asc码
/// 拼音首字母
public static char GetChineseSpell(int ChineseAsc)
{
if(ChineseAsc < 256)
return (char)ChineseAsc;
else if(ChineseAsc >= 45217 && ChineseAsc < 45253)
return ‘A‘;
else if(ChineseAsc >= 45253 && ChineseAsc < 45761)
return ‘B‘;
else if(ChineseAsc >= 45761 && ChineseAsc < 46318)
return ‘C‘;
else if(ChineseAsc >= 46318 && ChineseAsc < 46826)
return ‘D‘;
else if(ChineseAsc >= 46826 && ChineseAsc < 47010)
return ‘E‘;
else if(ChineseAsc >= 47010 && ChineseAsc < 47297)
return ‘F‘;
else if(ChineseAsc >= 47297 && ChineseAsc < 47614)
return ‘G‘;
else if(ChineseAsc >= 47614 && ChineseAsc < 48119)
return ‘H‘;
// else if(ChineseAsc>=48119&&ChineseAsc<48119)return ‘I‘;
else if(ChineseAsc >= 48119 && ChineseAsc < 49062)
return ‘J‘;
else if(ChineseAsc >= 49062 && ChineseAsc < 49324)
return ‘K‘;
else if(ChineseAsc >= 49324 && ChineseAsc < 49896)
return ‘L‘;
else if(ChineseAsc >= 49896 && ChineseAsc < 50371)
return ‘M‘;
else if(ChineseAsc >= 50371 && ChineseAsc < 50614)
return ‘N‘;
else if(ChineseAsc >= 50614 && ChineseAsc < 50622)
return ‘O‘;
else if(ChineseAsc >= 50622 && ChineseAsc < 50906)
return ‘P‘;
else if(ChineseAsc >= 50906 && ChineseAsc < 51387)
return ‘Q‘;
else if(ChineseAsc >= 51387 && ChineseAsc < 51446)
return ‘R‘;
else if(ChineseAsc >= 51446 && ChineseAsc < 52218)
return ‘S‘;
else if(ChineseAsc >= 52218 && ChineseAsc < 52698)
return ‘T‘;
// else if(ChineseAsc>=52698&&ChineseAsc<52698)return ‘U‘;
// else if(ChineseAsc>=52698&&ChineseAsc<52698)return ‘V‘;
else if(ChineseAsc >= 52698 && ChineseAsc < 52980)
return ‘W‘;
else if(ChineseAsc >= 52980 && ChineseAsc < 53689)
return ‘X‘;
else if(ChineseAsc >= 53689 && ChineseAsc < 54481)
return ‘Y‘;
else if(ChineseAsc >= 54481)
return ‘Z‘;
else
return ‘*‘;
}
/// 
/// 将汉字字符转换为拼音首字母。
/// 如果 Asc 小于256,则原样返回
/// 如果 转换失败,则返回“*“。如:中文标点符号
/// 速度:1500000次/秒
/// 

/// 要转换的字符
/// 拼音首字母
public static char GetChineseSpell(char ChineseChar)
{
int ChineseAsc;
byte[] ChineseByte =System.Text.Encoding.Default.GetBytes(ChineseChar.ToString());

if(ChineseByte.Length < 2)
{
ChineseAsc = ChineseByte[0];
}
else
{
ChineseAsc = (ChineseByte[0] << 8) + ChineseByte[1];
}
return GetChineseSpell(ChineseAsc);
}
/// 

/// 将包含汉字的字符串转换为拼音首

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1398  2013-03-23 03:35  智能过滤.sln

     文件        120  2013-03-23 03:25  SocgComboBox\app.config

     文件       8704  2013-03-23 03:35  SocgComboBox\bin\Debug\SocgComboBox.dll

     文件        120  2013-03-23 03:25  SocgComboBox\bin\Debug\SocgComboBox.dll.config

     文件      22016  2013-03-23 03:35  SocgComboBox\bin\Debug\SocgComboBox.pdb

     文件      14328  2013-03-23 03:34  SocgComboBox\bin\Debug\SocgComboBox.vshost.exe

     文件        120  2013-03-23 03:25  SocgComboBox\bin\Debug\SocgComboBox.vshost.exe.config

     目录          0  2013-03-23 03:34  SocgComboBox\bin\Debug

     目录          0  2013-03-23 03:26  SocgComboBox\bin

     文件      10269  2013-03-23 03:33  SocgComboBox\Common.cs

     目录          0  2013-03-23 03:26  SocgComboBox\obj\Debug\Refactor

     文件        423  2013-03-23 03:34  SocgComboBox\obj\Debug\SocgComboBox.csproj.FileListAbsolute.txt

     文件       8704  2013-03-23 03:35  SocgComboBox\obj\Debug\SocgComboBox.dll

     文件      22016  2013-03-23 03:35  SocgComboBox\obj\Debug\SocgComboBox.pdb

     目录          0  2013-03-23 03:24  SocgComboBox\obj\Debug\TempPE

     目录          0  2013-03-23 03:35  SocgComboBox\obj\Debug

     目录          0  2013-03-23 03:24  SocgComboBox\obj

     文件       1346  2013-03-23 03:35  SocgComboBox\Properties\AssemblyInfo.cs

     目录          0  2013-03-23 03:35  SocgComboBox\Properties

     文件       5751  2013-03-23 03:33  SocgComboBox\SocgComboBox.cs

     文件       2432  2013-03-23 03:34  SocgComboBox\SocgComboBox.csproj

     目录          0  2013-03-23 03:48  SocgComboBox

     文件        120  2013-03-23 03:36  测试\app.config

     文件       8704  2013-03-23 03:35  测试\bin\Debug\SocgComboBox.dll

     文件      22016  2013-03-23 03:35  测试\bin\Debug\SocgComboBox.pdb

     文件       7680  2013-03-23 03:41  测试\bin\Debug\测试.exe

     文件        120  2013-03-23 03:36  测试\bin\Debug\测试.exe.config

     文件      19968  2013-03-23 03:41  测试\bin\Debug\测试.pdb

     文件      14328  2013-03-23 03:42  测试\bin\Debug\测试.vshost.exe

     文件        120  2013-03-23 03:36  测试\bin\Debug\测试.vshost.exe.config

............此处省略26个文件信息

评论

共有 条评论