字符串的第一个字符可以通过以下操作检索吗?
MyString.ToCharArray[0]
字符串的第一个字符可以通过以下操作检索吗?
MyString.ToCharArray[0]
当前回答
下面从字符串中获取第一个字符的示例可能会对某些人有所帮助
string anyNameForString = "" + stringVariableName[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[字符的位置]。对于你的例子MyString[0], 0是任何字符串的第一个字符。
一个字符值被指定为'(单引号),就像这个x字符值被写为'x'。
字符串值被指定为"(双引号),就像这个x字符串值被写为"x"。
所以Substring()方法也是不返回字符,Substring()方法返回字符串!!
字符串是一个字符数组,最后一个字符必须是'\0' (null)字符。这就是字符数组和字符串(字符串是一个字符数组,最后一个字符为“字符串结束标记”'\0' null)之间的区别。
还要注意“x”不等于“x”。 因为"x"实际上是"x" + " \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);
你可以使用LINQ
char c = mystring.FirstOrDefault()
如果字符串为空,它将等于'\0'。
试试这个,
字符串s1 =“好”; 字符串s = s1.Substring (0,1);