C # эквивалентно charAt () в Java?


118

Я знаю, что мы можем использовать charAt()метод в Java для получения отдельного символа в строке, указав его позицию. Есть ли эквивалентный метод в C #?


Вы ищете решение, которое работает только со строками, которые гарантированно не содержат никаких не 16-битных символов Юникода? Или вы ищете решение, которое работает с произвольной строкой?
hippietrail

Ответы:


201

Вы можете индексировать строку в C # как массив, и вы получаете символ по этому индексу.

Пример:

В Java вы бы сказали

str.charAt(8);

В C # вы бы сказали

str[8];

2
Я думаю, следует отметить, что str.Substring (8,1) работает как решение, но намного медленнее. Просто выяснил это на собственном горьком опыте.
qzcx

Это спасло мне жизнь: D Большое спасибо!
Spidi's Web,



-1

пожалуйста, попробуйте сделать это как персонаж

string str = "Tigger";
//then str[0] will return 'T' not "T"

-2

Console.WriteLine позволяет пользователю указать позицию в строке.

См. Образец:

строка str = "Тигра"; Console.WriteLine (стр [0]); // возвращает "T"; Console.WriteLine (стр [2]); // возвращает "g";

Вот так!


-3

Просто используйте String.ElementAt(). Это очень похоже на java String.charAt(). Удачи кодированию!


Зачем вам использовать метод расширения IEnumerable, если вы можете просто делать то, что другие упоминали много лет назад? (Встроенная индексация строк).
Дэйв Докняс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.