С#: как получить первую строку char строки?

Можно ли извлечь первую char строки, выполнив следующие действия?

MyString.ToCharArray[0]

Ответ 1

Просто MyString[0]. Это использует String.Chars indexer.

Ответ 2

Mystring[0] должно быть достаточно

Ответ 3

Разница между MyString[0] и MyString.ToCharArray()[0] заключается в том, что первая обрабатывает строку как только для чтения, а ToCharArray() создает новый массив. Первый будет быстрее (и проще) почти для всего, где он будет работать, но ToCharArray может понадобиться, если у вас есть метод, который должен принимать массив, или если вы хотите изменить массив.

Если строка не известна как непустая и непустая, вы можете сделать:

string.IsNullOrEmpty(MyString) ? (char?)null : MyString[0]

который возвращает char? нулевого или первого символа в строке.

Ответ 4

Вы можете использовать LINQ

char c = mystring.FirstOrDefault()

Он будет равен '\0', если строка пуста.

Ответ 5

Попробуйте это,

string s1="good"; string s=s1.Substring(0,1);

Ответ 6

Или вы можете сделать это:

MyString[0];

Ответ 7

Еще один подход:

string mystr = "hello";
MessageBox.show(mystr.Substring(0, 1));

Ответ 8

Я думаю, что вы ищете это MyString.ToCharArray()[0]

:)

Но вы также можете использовать MyString[0].

Ответ 9

MyString.Remove(1, 2); также работает

Ответ 10

Получение 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);

Ответ 11

Заявленный ответ почему-то не сработал у меня. Сказал, что я не могу сравнить тип Char с строкой типа. Поэтому я сделал это:

string allInts = new String(telePhone.Where(Char.IsDigit).ToArray());

if (allInts[0].ToString() == "1")
{
    ...yada
}