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