字符串的第一个字符可以通过以下操作检索吗?
MyString.ToCharArray[0]
字符串的第一个字符可以通过以下操作检索吗?
MyString.ToCharArray[0]
当前回答
MyString。删除(1、2);同样适用
其他回答
你问题的答案是否定的。
正确的是MyString[字符的位置]。对于你的例子MyString[0], 0是任何字符串的第一个字符。
一个字符值被指定为'(单引号),就像这个x字符值被写为'x'。
字符串值被指定为"(双引号),就像这个x字符串值被写为"x"。
所以Substring()方法也是不返回字符,Substring()方法返回字符串!!
字符串是一个字符数组,最后一个字符必须是'\0' (null)字符。这就是字符数组和字符串(字符串是一个字符数组,最后一个字符为“字符串结束标记”'\0' null)之间的区别。
还要注意“x”不等于“x”。 因为"x"实际上是"x" + " \0 "
在c# 8中,你可以使用范围。
myString[0..Math.Min(myString.Length, 1)]
加一个?在myString之后处理空字符串。
也许这个会有帮助。我使用txtModel_Leave事件,然后创建方法来检测主文本框中的第一个字符。
private void txtMain_Leave(object sender, EventArgs e)
{
detectFirstChar();
}
private void detectFirstChar()
{
string mystr = txtModel.Text;
if (String.IsNullOrEmpty(txtModel.Text))
{
txtAwalan.Text = "";
}
else if (mystr.Substring(0, 1) == "F")
{
txtKategori.Text = "Finishing";
}
else if((mystr.Substring(0, 1) == "H"))
{
txtKategori.Text = "Half";
}
else
{
txtKategori.Text = "NONE";
}
}
这是另一种方法:
string mystr = "hello";
MessageBox.show(mystr.Substring(0, 1));
你可以使用LINQ
char c = mystring.FirstOrDefault()
如果字符串为空,它将等于'\0'。