怎么获取一个字符串或者单个字的首字母哇? 既然可以有string的把字母变大写方法,我想也有去汉字拼音首字母的方法吧。。是哪个? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 安装Microsoft Visual Studio International Pack 1.0 Beta1下的CHSPinYinConv.msi.然后引用它.当然安装之后在安装目录下会有例程. string v = "abc"; v= v.Remove(0, 1); v=v.Substring(0,1); /// <summary> /// 获取中文简拼 /// </summary> /// <param name="strText"></param> /// <returns></returns> public string GetChineseSpell(string strText) { int len = strText.Length; string myStr = ""; for (int i = 0; i < len; i++) { myStr += getSpell(strText.Substring(i, 1)); } return myStr; } /// <summary> /// 这个方法的作用是根据对应的中文简码获取首字母并将其赋值给txtwaiternameSeplling /// </summary> /// <param name="cnChar"></param> /// <returns></returns> public string getSpell(string cnChar) { byte[] arrCN = Encoding.Default.GetBytes(cnChar); if (arrCN.Length > 1) { int area = (short)arrCN[0]; int pos = (short)arrCN[1]; int code = (area << 8) + pos; int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 }; for (int i = 0; i < 26; i++) { int max = 55290; if (i != 25) max = areacode[i + 1]; if (areacode[i] <= code && code < max) { return Encoding.Default.GetString(new byte[] { (byte)(65 + i) }); } } return "*"; } else return cnChar; } 这三个方法希望对你有用,将你的中文传到第一个方法中,在第一个方法中再调用第二个方法,最后string类型的值接受Mystr;好好琢磨,上面用得是汉子简码, c#如何从串口获得扫描枪中文数据 winform里的datagridview如何让数据倒过来显示? 如何获取一个对象所占用的内存空间 一个C#算法问题 C#中委托有什么用处? 如何在C#中加载图片 jmail的使用 C#与SIMATIC NET OPC通讯的连接类 关于事件 请问在c#中如何将string类型的变量转换为int型的! 求 C#3.0 , WPF 学习书籍 C#中对结构体sizeof或Marshal.SizeOf返回的字节大小问题!!
v= v.Remove(0, 1);
v=v.Substring(0,1);
/// 获取中文简拼
/// </summary>
/// <param name="strText"></param>
/// <returns></returns>
public string GetChineseSpell(string strText)
{
int len = strText.Length;
string myStr = "";
for (int i = 0; i < len; i++)
{
myStr += getSpell(strText.Substring(i, 1));
}
return myStr;
}
/// <summary>
/// 这个方法的作用是根据对应的中文简码获取首字母并将其赋值给txtwaiternameSeplling
/// </summary>
/// <param name="cnChar"></param>
/// <returns></returns>
public string getSpell(string cnChar)
{
byte[] arrCN = Encoding.Default.GetBytes(cnChar);
if (arrCN.Length > 1)
{
int area = (short)arrCN[0];
int pos = (short)arrCN[1];
int code = (area << 8) + pos;
int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 };
for (int i = 0; i < 26; i++)
{
int max = 55290;
if (i != 25) max = areacode[i + 1];
if (areacode[i] <= code && code < max)
{
return Encoding.Default.GetString(new byte[] { (byte)(65 + i) });
}
}
return "*";
}
else return cnChar;
} 这三个方法希望对你有用,将你的中文传到第一个方法中,在第一个方法中再调用第二个方法,最后string类型的值接受Mystr;好好琢磨,上面用得是汉子简码,