C # tương đương với charAt () của Java?


118

Tôi biết chúng ta có thể sử dụng charAt()phương thức trong Java để lấy một ký tự riêng lẻ trong một chuỗi bằng cách chỉ định vị trí của nó. Có một phương thức tương đương trong C # không?


Bạn đang tìm kiếm một giải pháp chỉ hoạt động trên các chuỗi được đảm bảo không chứa bất kỳ ký tự Unicode nào không phải 16 bit? Hoặc bạn đang tìm kiếm một giải pháp hoạt động trên một chuỗi tùy ý?
hippietrail

Câu trả lời:


201

Bạn có thể lập chỉ mục thành một chuỗi trong C # như một mảng và bạn nhận được ký tự tại chỉ mục đó.

Thí dụ:

Trong Java, bạn sẽ nói

str.charAt(8);

Trong C #, bạn sẽ nói

str[8];

2
Tôi nghĩ cần phải chỉ ra rằng str.Substring (8,1) hoạt động như một giải pháp, nhưng nó chậm hơn nhiều. Chỉ cần tìm ra rằng một cách khó khăn.
qzcx

Điều này đã cứu mạng tôi: D Cảm ơn rất nhiều!
Web của Spidi


0

bạn có thể sử dụng LINQ

string abc = "abc";
char getresult = abc.Where((item, index) => index == 2).Single();

-1

hãy cố gắng biến nó thành một nhân vật

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

-2

Console.WriteLine cho phép người dùng chỉ định một vị trí trong một chuỗi.

Xem mẫu:

string str = "Con hổ"; Console.WriteLine (str [0]); // trả về "T"; Console.WriteLine (str [2]); // trả về "g";

Của bạn đây!


-3

Đơn giản chỉ cần sử dụng String.ElementAt(). Nó khá giống với java String.charAt(). Chúc bạn viết mã vui vẻ!


Tại sao bạn lại sử dụng phương pháp mở rộng IEnumerable, khi bạn chỉ có thể làm những gì mà những người khác đã đề cập nhiều năm trước? (Lập chỉ mục chuỗi).
Dave Doknjas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.