最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

超簡(jiǎn)單C#獲取帶漢字的字符串真實(shí)長(zhǎng)度(單個(gè)英文長(zhǎng)度為1,單個(gè)中文長(zhǎng)度為2)

 更新時(shí)間:2018年03月13日 16:30:03   投稿:wdc  
正常情況下,我們是直接去string的length的,但是漢字是有兩個(gè)字節(jié)的,所以直接用length是錯(cuò)的

正常情況下,我們是直接去string的length的,但是漢字是有兩個(gè)字節(jié)的,所以直接用length是錯(cuò)的。如下圖:

所以應(yīng)該用以下代碼來(lái)獲取長(zhǎng)度:

private void button1_Click(object sender, EventArgs e)
    {
      string s = textBox1.Text;
      int i = GetLength(s);
      MessageBox.Show(i.ToString());
    }

    public static int GetLength(string str)
    {
      if (str.Length == 0)
        return 0;
      ASCIIEncoding ascii = new ASCIIEncoding();
      int tempLen = 0; 
      byte[] s = ascii.GetBytes(str);
      for (int i = 0; i < s.Length; i++)
      {
        if ((int)s[i] == 63)
        {
          tempLen += 2;
        }
        else
        {
          tempLen += 1;
        }
      }
      return tempLen;
    }

運(yùn)行結(jié)果如下圖:

也可以用這個(gè)獲取長(zhǎng)度:

int i = System.Text.Encoding.Default.GetBytes(s).Length;

通過(guò)系統(tǒng)提供函數(shù)我們就可以獲取中文的真實(shí)長(zhǎng)度,是不是很簡(jiǎn)單

相關(guān)文章

  • C#常用數(shù)據(jù)結(jié)構(gòu)棧的詳細(xì)介紹

    C#常用數(shù)據(jù)結(jié)構(gòu)棧的詳細(xì)介紹

    在C#中,Stack<T> 是一個(gè)后進(jìn)先出(LIFO,Last-In-First-Out)集合類(lèi),位于System.Collections.Generic 命名空間中,本文詳細(xì)介紹C#常用數(shù)據(jù)結(jié)構(gòu)棧,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • C#中兩個(gè)byte如何相加

    C#中兩個(gè)byte如何相加

    可能有的看到這個(gè)題目就會(huì)覺(jué)得這不簡(jiǎn)單嗎?直接用+號(hào)相加就行了,可是當(dāng)你實(shí)際操作運(yùn)行的時(shí)候就會(huì)發(fā)現(xiàn)有錯(cuò)誤了,那么是什么錯(cuò)誤?那該如何讓C#中兩個(gè)byte相加呢?通過(guò)下面這篇文章來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11
  • C#實(shí)現(xiàn)右鍵快捷菜單(上下文菜單)的兩種方式

    C#實(shí)現(xiàn)右鍵快捷菜單(上下文菜單)的兩種方式

    在C#中,ContextMenuStrip是一種用于創(chuàng)建右鍵菜單的控件,它提供了一種方便的方式來(lái)為特定的控件或窗體添加自定義的上下文菜單選項(xiàng),有兩種實(shí)現(xiàn)方式,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • c#同步兩個(gè)子目錄文件示例分享 兩個(gè)文件夾同步

    c#同步兩個(gè)子目錄文件示例分享 兩個(gè)文件夾同步

    這篇文章主要介紹了使用c#同步兩個(gè)子目錄文件的方法,大家參考使用吧
    2014-01-01
  • 獲得.net控件的windows句柄的方法

    獲得.net控件的windows句柄的方法

    有一個(gè)簡(jiǎn)單的獲得控件的句柄的竅門(mén)。你將窗體設(shè)置為鼠標(biāo)可捕獲,那么你的窗口句柄可以通過(guò)使用Windows API捕獲。 這個(gè)想法在以下的GetHWnd函數(shù)中實(shí)現(xiàn):
    2013-04-04
  • DevExpress SplitContainerControl用法總結(jié)

    DevExpress SplitContainerControl用法總結(jié)

    這篇文章主要介紹了DevExpress SplitContainerControl用法,對(duì)初學(xué)者有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-08-08
  • C# Windows API應(yīng)用之基于GetDesktopWindow獲得桌面所有窗口句柄的方法

    C# Windows API應(yīng)用之基于GetDesktopWindow獲得桌面所有窗口句柄的方法

    這篇文章主要介紹了C# Windows API應(yīng)用之基于GetDesktopWindow獲得桌面所有窗口句柄的方法,結(jié)合實(shí)例形式分析了GetDesktopWindow函數(shù)用于獲取窗口句柄的具體使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-08-08
  • c#中SqlHelper封裝SqlDataReader的方法

    c#中SqlHelper封裝SqlDataReader的方法

    這篇文章主要介紹了c#中SqlHelper封裝SqlDataReader的方法,涉及C#針對(duì)數(shù)據(jù)庫(kù)相關(guān)操作封裝與使用的技巧,需要的朋友可以參考下
    2015-05-05
  • C#實(shí)現(xiàn)前向最大匹、字典樹(shù)(分詞、檢索)的示例代碼

    C#實(shí)現(xiàn)前向最大匹、字典樹(shù)(分詞、檢索)的示例代碼

    這篇文章主要介紹了C#實(shí)現(xiàn)前向最大匹、字典樹(shù)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 深入解析C#中的abstract抽象類(lèi)

    深入解析C#中的abstract抽象類(lèi)

    這篇文章主要介紹了深入解析C#中的abstract抽象類(lèi),包括定義抽象類(lèi)等C#面相對(duì)象編程中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-01-01

最新評(píng)論

石楼县| 山东省| 铁岭县| 黄平县| 通山县| 赣榆县| 塔河县| 古交市| 乌恰县| 岳普湖县| 彰武县| 绥宁县| 中卫市| 二手房| 庆阳市| 武鸣县| 伊金霍洛旗| 霍城县| 萍乡市| 黄陵县| 来安县| 汕头市| 盖州市| 岱山县| 临沧市| 清远市| 龙山县| 沧州市| 建宁县| 松阳县| 旌德县| 蒙山县| 灵台县| 景洪市| 杭州市| 集安市| 教育| 汽车| 民勤县| 德庆县| 四子王旗|