Как обрезать строку всего до 1 символа C#

#c#

#c#

Вопрос:

Простой вопрос: мне нужна только первая буква моей строки. Как мне добиться этого в C# ?.

У меня действительно долгая работа с использованием IF инструкций, но я уверен, что есть способ просто сократить ее до 1.

В vb.net казалось, что

 string q1s = q1l.Chars(1);
  

но это не работает в c#

Комментарии:

1. Не могли бы вы показать свой «действительно длинный обходной путь с использованием операторов IF» на C #, пожалуйста? Я могу придумать короткие выражения, использующие одну или две строки, и мне было бы интересно посмотреть, как вы можете использовать более одного if оператора для этой цели.

2. это делается с помощью if (q1l = «stringname») { string q1s = «d»; } на основе того факта, что я знаю, каким будет содержимое строки.

3. @user3809554: Как это реплицирует какую-либо часть вашего VB.NET выражение?

4. Пожалуйста, избавьте нас от необходимости читать ваши «обходные пути» сейчас и в будущем. Возьмите класс. Возьмите книгу. Прочитайте потрясающее руководство.

Ответ №1:

Строка имеет индексатор. Вы можете получить любой символ из строки, а не только первый:

 string s = "Hello world"
char first = s[0];
  

Затем вы можете вызвать first.toString() если вам действительно нужно, чтобы это была строка.

Ответ №2:

Используйте Substring метод:

 string q1s = q1l.Substring(0, 1);
  

Ответ №3:

myString[0]

блаблабла, это должно достичь 30 символов в моем ответе.

Комментарии:

1. «Простой вопрос, мне нужна только первая буква моей строки». Это были вопросы, не так ли? Он не говорил, что это должна быть строка типа Steve.

2. Ну, этого не было 3 минуты назад. Включая время, когда вы опубликовали свой «неправильный» ответ.

3. @Steve: На самом деле, пример из вопроса — string q1s = q1l.Chars(1); — делает именно это: он извлекает единицу char и присваивает ее string (вызывая неявное преобразование). Chars Свойство является VB.NET способ доступа к индексатору и возвращает char .

Ответ №4:

myString[0] вернет 1-й символ в строке.