[英]C#: how to get first character of a string?
我們已經有一個關於獲取字符串的第一個16位char
的問題 。
這包括問題代碼:
MyString.ToCharArray[0]
並接受答案代碼:
MyString[0]
我猜想這有一些用處,但是當字符串包含文本時,我們希望大家都知道一個16位char不能容納一個字符,即使在嚴格意義上我們實際上是指“ codepoint”。
我是一名程序員,但不是C#程序員。 我只是想幫助在線同事修復此類錯誤,以防萬一您覺得這太基本了。
因此,如果我們在C#的char
數組中有一個字符串,並以正確的UTF-16編碼,並且可能包括一個代理對作為第一個字符/代碼點,因此可能包含兩個char
,那么我如何獲得第一個字符?
(我天真地假設Microsoft為此提供了一個字符串函數,並且我不必手動檢查代理對。)
您可以使用StringInfo類,該類知道代理對和多字節字符。
var yourstring = "😂test"; // First char is multibyte char.
var firstCharOfString = StringInfo.GetNextTextElement(yourstring,0);
用這個:
str = str.Substring(0, 1);
要么
str[0];
要么
str.FirstOrDefault();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.