使用NET的Visual Studio International Pack类库获取汉子的首字母

最近接着做考试系统,因为考试数据量大,所以我们将题库表分为一个课程下一个题型为一个题库表,这样就会有一个动态创建数据库表的过程,就会有动态得到数据库表名,我们采用的是用各个汉子的首字母来得到表名。开始一直是让人手动输入,既然规则已经有了,就可以让程序自动获取,不用用户手动输入。开始自己尝试着写,但是微软已经给咱提供了,只要引用了直接调用就行了。

        #region 汉子的首字母
        /// <summary> 
        /// 汉字转化为拼音首字母
        /// </summary> 
        /// <param name="str">汉字</param> 
        /// <returns>首字母</returns> 
        public static string GetFirstPinyin(string str)
        {
            string r = string.Empty;
            foreach (char obj in str)
            {
                try
                {
                    ChineseChar chineseChar = new ChineseChar(obj);
                    string t = chineseChar.Pinyins[0].ToString();
                    r += t.Substring(0, 1);
                }
                catch
                {
                    r += obj.ToString();
                }
            }
            return r;
        }
        #endregion

        #region 为课程名称和映射文本框添加默认值
        /// <summary>
        /// 为课程名称和映射文本框添加默认值
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ddlSubject_SelectedIndexChanged(object sender, EventArgs e)
        {           
            #region  为课程名称和映射文本框添加默认值
            string strCourseName = "";            
            strCourseName =ddlYear.Text.ToString()+ ddlProvince.SelectedItem.Text.ToString() + ddlCourseType.SelectedItem.Text.ToString() + ddlSubject.SelectedItem.Text.ToString();  
            txtCourseName.Text = strCourseName;
            
            string strCourseMap = "";
            strCourseMap = GetFirstPinyin(strCourseName);
            strCourseMap = strCourseMap.ToLower();            
            txtCourseMapping.Text = strCourseMap;
            #endregion
        }
        #endregion
                  

显示效果:

                         

  这样,用户只要选择了上面的几个下拉框,对应的课程名和课程映射名都自动获取了。课程映射名的用途就是来生成数据库表名的,这样就方便了很多。微软真的很强大,现在只要能想到的他都几乎做好了,希望啥时候能有微软也没有的,那我就发了。

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值