您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關C#如何獲取帶漢字的字符串真實長度的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
正常情況下,我們是直接去string的length的,但是漢字是有兩個字節的,所以直接用length是錯的。如下圖:
所以應該用以下代碼來獲取長度:
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; }
運行結果如下圖:
也可以用這個獲取長度:
int i = System.Text.Encoding.Default.GetBytes(s).Length;
通過系統提供函數我們就可以獲取中文的真實長度,是不是很簡單
C#是一個簡單、通用、面向對象的編程語言,它由微軟Microsoft開發,繼承了C和C++強大功能,并且去掉了一些它們的復雜特性,C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程從而成為.NET開發的首選語言,但它不適用于編寫時間急迫或性能非常高的代碼,因為C#缺乏性能極高的應用程序所需要的關鍵功能。
感謝各位的閱讀!關于“C#如何獲取帶漢字的字符串真實長度”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。