欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# 獲取漢字的拼音首字母

 更新時間:2015年06月26日 15:10:21   投稿:hebedich  
一種是把所有中文字符集合起來組成一個對照表;另一種是依照漢字在Unicode編碼表中的排序來確定拼音的首字母。碰到多音字時就以常用的為準(第一種方法中可以自行更改,方法為手動把該漢字移動到對應的拼音首字母隊列,我們這里介紹第二種

獲取漢字拼音的首字母是一個在做項目的過程中經(jīng)常需要用到的功能,今天我們主要來探討下C# 獲取漢字的拼音首字母

/// <summary>

/// 在指定的字符串列表CnStr中檢索符合拼音索引字符串

/// </summary>

/// <param name="CnStr">漢字字符串</param>

/// <returns>相對應的漢語拼音首字母串</returns>

public static string GetSpellCode(string CnStr) {

  string strTemp="";

  int iLen=CnStr.Length;

  int i=0;

  for (i=0;i<=iLen-1;i++) {

     strTemp+=GetCharSpellCode(CnStr.Substring(i,1));

  }

  return strTemp;

}

/// <summary>

/// 得到一個漢字的拼音第一個字母,如果是一個英文字母則直接返回大寫字母

/// </summary>

/// <param name="CnChar">單個漢字</param>

/// <returns>單個大寫字母</returns>

private static string GetCharSpellCode(string CnChar) {

  long iCnChar;

  byte[] ZW = System.Text.Encoding.Default.GetBytes(CnChar);

  //如果是字母,則直接返回

  if (ZW.Length==1) {

     return CnChar.ToUpper();

  }

  else {

     // get the array of byte from the single char

    int i1 = (short)(ZW[0]);

    int i2 = (short)(ZW[1]);

    iCnChar = i1*256+i2;

    }  

// iCnChar match the constant

  if ((iCnChar>=45217) && (iCnChar<=45252)) {

     return "A";

  }

  else if ((iCnChar>=45253) && (iCnChar<=45760)) {

    return "B";

  } else if ((iCnChar>=45761) && (iCnChar<=46317)) {

    return "C";

  } else if ((iCnChar>=46318) && (iCnChar<=46825)) {

    return "D";

  } else if ((iCnChar>=46826) && (iCnChar<=47009)) {

    return "E";

  } else if ((iCnChar>=47010) && (iCnChar<=47296)) {

    return "F";

  } else if ((iCnChar>=47297) && (iCnChar<=47613)) {

    return "G";

  } else if ((iCnChar>=47614) && (iCnChar<=48118)) {

    return "H";

  } else if ((iCnChar>=48119) && (iCnChar<=49061)) {

    return "J";

  } else if ((iCnChar>=49062) && (iCnChar<=49323)) {

    return "K";

  } else if ((iCnChar>=49324) && (iCnChar<=49895)) {

    return "L";

  } else if ((iCnChar>=49896) && (iCnChar<=50370)) {

    return "M";

  }else if ((iCnChar>=50371) && (iCnChar<=50613)) {

    return "N";

  } else if ((iCnChar>=50614) && (iCnChar<=50621)) {

    return "O";

  } else if ((iCnChar>=50622) && (iCnChar<=50905)) {

    return "P";

  } else if ((iCnChar>=50906) && (iCnChar<=51386)) {

    return "Q";

  } else if ((iCnChar>=51387) && (iCnChar<=51445)) {

    return "R";

  } else if ((iCnChar>=51446) && (iCnChar<=52217)) {

    return "S";

  } else if ((iCnChar>=52218) && (iCnChar<=52697)) {

    return "T";

  } else if ((iCnChar>=52698) && (iCnChar<=52979)) {

    return "W";

  } else if ((iCnChar>=52980) && (iCnChar<=53640)) {

    return "X";

  } else if ((iCnChar>=53689) && (iCnChar<=54480)) {

    return "Y";

  } else if ((iCnChar>=54481) && (iCnChar<=55289)) {

    return "Z";

  } else

  return ("?");

}

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • c# 調(diào)用.bat文件的實現(xiàn)代碼

    c# 調(diào)用.bat文件的實現(xiàn)代碼

    c# 調(diào)用.bat文件主要利用了using System.Diagnostics;命名空間,大家可以參考下。
    2009-06-06
  • C# TrieTree介紹及實現(xiàn)方法

    C# TrieTree介紹及實現(xiàn)方法

    C# TrieTree介紹及實現(xiàn)方法,需要的朋友可以參考一下
    2013-04-04
  • C# 通過同步和異步實現(xiàn)優(yōu)化做早餐的時間

    C# 通過同步和異步實現(xiàn)優(yōu)化做早餐的時間

    本文以一個簡單的小例子—如何做一頓早餐及如何優(yōu)化做早餐的時間來讓大家具體了解一下同步和異步方法的區(qū)別,需要的朋友可以參考一下
    2021-12-12
  • C#中Trim()、TrimStart()、TrimEnd()的用法介紹

    C#中Trim()、TrimStart()、TrimEnd()的用法介紹

    這篇文章主要介紹了C#中Trim()、TrimStart()、TrimEnd()的用法,有需要的朋友可以參考一下
    2014-01-01
  • 深入理解C#中的Delegate

    深入理解C#中的Delegate

    委托是一種安全地封裝方法的類型,它與 C 和 C++ 中的函數(shù)指針類似。與 C 中的函數(shù)指針不同,委托是面向?qū)ο蟮摹㈩愋桶踩暮捅kU的。委托的類型由委托的名稱定義
    2016-07-07
  • C#實現(xiàn)日期時間的格式化輸出的示例詳解

    C#實現(xiàn)日期時間的格式化輸出的示例詳解

    這篇文章主要為大家詳細介紹了C#實現(xiàn)日期時間的格式化輸出的相關(guān)資料,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2023-03-03
  • C#定位txt指定行的方法小例子

    C#定位txt指定行的方法小例子

    近日,在開發(fā)CAD插件時需要定位TXT文件指定行并將其選中,在網(wǎng)絡(luò)找了一下沒有找到現(xiàn)成的,自己根據(jù)外掛的思路編了一個定位程序,實現(xiàn)了定位功能..與大家分享
    2013-04-04
  • C#事件用法實例淺析

    C#事件用法實例淺析

    這篇文章主要介紹了C#事件用法,以實例形式分析了C#中事件的定義、觸發(fā)及處理相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • C# 元組和值元組的具體使用

    C# 元組和值元組的具體使用

    這篇文章主要介紹了C# 元組和值元組的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • 談談C# replace在正則表達式中的意義

    談談C# replace在正則表達式中的意義

    這篇文章主要介紹了C# replace在正則表達式中的意義的相關(guān)資料,需要的朋友可以參考下
    2016-03-03

最新評論