C # еквівалент charAt Java ()?


118

Я знаю, що ми можемо використовувати charAt()метод у Java, щоб отримати індивідуальний символ у рядку, вказавши його положення. Чи є еквівалентний метод у C #?


Ви шукаєте рішення, яке працює лише на рядках, які гарантовано не містять ніяких 16-бітових символів Unicode? Або ви шукаєте рішення, яке працює на довільній рядку?
hippietrail

Відповіді:


201

Ви можете проіндексувати рядок у C # як масив, і ви отримаєте символ у цьому індексі.

Приклад:

На Java, ви б сказали

str.charAt(8);

У C #, ви б сказали

str[8];

2
Я думаю, що слід зазначити, що str.Substring (8,1) працює як рішення, але це набагато повільніше. Щойно з'ясував це важкий шлях.
qzcx

Це врятувало моє життя: D Дякую!
Веб-сайт Спіді



-1

будь ласка, спробуйте зробити це як персонаж

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

-2

Console.WriteLine дозволяє користувачеві вказати позицію в рядку.

Дивіться зразок:

string str = "Тигр"; Console.WriteLine (str [0]); // повертає "T"; Console.WriteLine (str [2]); // повертає "g";

Ось так!


-3

Просто використовуйте String.ElementAt(). Він досить схожий на Java String.charAt(). Веселіться кодування!


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