通过执行以下操作可以检索字符串的第一个char
吗?
MyString.ToCharArray[0]
答案 0 :(得分:327)
只需MyString[0]
。这使用String.Chars索引器。
答案 1 :(得分:44)
Mystring[0]
应该足够了
答案 2 :(得分:16)
MyString[0]
和MyString.ToCharArray()[0]
之间的区别在于前者将字符串视为只读数组,而ToCharArray()
创建新数组。对于几乎任何可行的方法,前者会更快(并且更容易),但如果你有一个需要接受数组的方法,或者你想要更改数组,那么ToCharArray
可能是必要的。
如果不知道字符串是非空且非空,则可以执行以下操作:
string.IsNullOrEmpty(MyString) ? (char?)null : MyString[0]
,根据需要返回null的char?
或字符串中的第一个字符。
答案 3 :(得分:14)
您可以使用LINQ
char c = mystring.FirstOrDefault()
如果字符串为空,它将等于'\0'
。
答案 4 :(得分:12)
试试这个,
string s1="good";
string s=s1.Substring(0,1);
答案 5 :(得分:6)
另一种方法:
string mystr = "hello";
MessageBox.show(mystr.Substring(0, 1));
答案 6 :(得分:5)
或者你可以这样做:
MyString[0];
答案 7 :(得分:4)
我认为您正在寻找MyString.ToCharArray()[0]
:)
但您也可以使用MyString[0]
。
答案 8 :(得分:2)
以下示例从字符串中获取第一个字符可能会对某人有所帮助
string anyNameForString = "" + stringVariableName[0];
答案 9 :(得分:0)
MyString.Remove(1,2);也可以
答案 10 :(得分:0)
您的问题的答案是否定的。
正确是MyString [字符位置]。对于您的情况MyString [0],0是任何字符串的第一个字符。
用'(单引号)指定字符值,例如x字符值写为'x'。
用“(双引号)指定字符串值,就像x字符串值写为” x“。
所以Substring()方法也不返回字符,Substring()方法返回字符串!!!
字符串是字符数组,最后一个字符必须为'\ 0'(空)字符。那就是字符数组和字符串(这是一个字符数组,最后一个字符作为“字符串标记的结尾”'\ 0'null)之间的区别。
还要注意,“ x”不等于“ x”。 因为“ x”实际上是'x'+'\ 0'。
答案 11 :(得分:0)
在C#8中,您可以使用范围。
myString[0..Math.Min(myString.Length, 1)]
在?
之后添加myString
,以处理null
字符串。
答案 12 :(得分:0)
也许这会有所帮助。我正在使用 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";
}
}
答案 13 :(得分:-2)
从字符串中获取char可能取决于enconding(字符串默认值为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);