Можно ли извлечь первую char
строки, выполнив следующие действия?
MyString.ToCharArray[0]
Можно ли извлечь первую char
строки, выполнив следующие действия?
MyString.ToCharArray[0]
Просто MyString[0]
. Это использует String.Chars indexer.
Mystring[0]
должно быть достаточно
Разница между MyString[0]
и MyString.ToCharArray()[0]
заключается в том, что первая обрабатывает строку как только для чтения, а ToCharArray()
создает новый массив. Первый будет быстрее (и проще) почти для всего, где он будет работать, но ToCharArray
может понадобиться, если у вас есть метод, который должен принимать массив, или если вы хотите изменить массив.
Если строка не известна как непустая и непустая, вы можете сделать:
string.IsNullOrEmpty(MyString) ? (char?)null : MyString[0]
который возвращает char?
нулевого или первого символа в строке.
Вы можете использовать LINQ
char c = mystring.FirstOrDefault()
Он будет равен '\0'
, если строка пуста.
Попробуйте это,
string s1="good";
string s=s1.Substring(0,1);
Или вы можете сделать это:
MyString[0];
Еще один подход:
string mystr = "hello";
MessageBox.show(mystr.Substring(0, 1));
Я думаю, что вы ищете это MyString.ToCharArray()[0]
:)
Но вы также можете использовать MyString[0]
.
MyString.Remove(1, 2); также работает
Получение char из строки может зависеть от имени (строка по умолчанию - UTF-16)
fooobar.com/questions/59126/...
string str = new String(new char[] { '\uD800', '\uDC00', 'z' });
string first = str.Substring(0, char.IsHighSurrogate(str[0]) ? 2 : 1);
Заявленный ответ почему-то не сработал у меня. Сказал, что я не могу сравнить тип Char с строкой типа. Поэтому я сделал это:
string allInts = new String(telePhone.Where(Char.IsDigit).ToArray());
if (allInts[0].ToString() == "1")
{
...yada
}