繁体   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