字符串的第一个字符可以通过以下操作检索吗?
MyString.ToCharArray[0]
字符串的第一个字符可以通过以下操作检索吗?
MyString.ToCharArray[0]
当前回答
从字符串中获取字符可能取决于编码(字符串默认为UTF-16)
https://stackoverflow.com/a/32141891
string str = new String(new char[] { '\uD800', '\uDC00', 'z' });
string first = str.Substring(0, char.IsHighSurrogate(str[0]) ? 2 : 1);
其他回答
Mystring[0]应该足够了
从c# 8.0+开始,我们可以使用范围索引器语法。
以下代码:
var name = "Dotnet".Substring(0, 1)
可以使用range语法编写:
var name = "Dotnet"[..1]
尝试在Dotnet小提琴
更多示例请参见官方文档
如果输入字符串小于range index,上面的代码将抛出。这个LINQ可以防止这个问题:
var name = "Dotnet".Take(1).ToArray()
尝试在Dotnet小提琴
MyString。删除(1、2);同样适用
只是MyString[0]。这使用了字符串。识字课索引器。
从字符串中获取字符可能取决于编码(字符串默认为UTF-16)
https://stackoverflow.com/a/32141891
string str = new String(new char[] { '\uD800', '\uDC00', 'z' });
string first = str.Substring(0, char.IsHighSurrogate(str[0]) ? 2 : 1);