簡體   English   中英

C#:如何獲取字符串的第一個字符?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM