Trong các bài học C# trước bạn đọc đã cùng Taimienphi.vn tìm hiểu về phương thức (method) cũng như mảng (array) trong C# là gì. Để tiếp nối chủ đề về C#, trong bài viết dưới đây bạn đọc cùng Taimienphi.vn tìm hiểu tiếp về chuỗi (string) trong C# là gì nhé?
Bài viết trước Taimienphi.vn đã giới thiệu cho bạn về mảng trong C#, bài viết tiếp theo dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn về chuỗi (string) trong C# là gì?
Chuỗi (string) trong C# là gì?
1. Chuỗi (string) trong C# là gì?
Trong C#, chuỗi (string) là một chuỗi các ký tự Unicode hoặc mảng các ký tự. Phạm vi các ký tự Unicode bắt đầu từ U +0000 đến U +FFFF. Mảng các ký tự được gọi là text, vì vậy chuỗi là đại diện của text.
Chúng ta hay bị nhầm lẫn và hay hiểu rằng chuỗi (string) là một từ khóa hay đối tượng, lớp. Vì vậy để hiểu rõ hơn chuỗi trong C# là gì, bạn đọc tham khảo tiếp phần nội dung tiếp theo dưới đây.
Chuỗi được đại diện bởi lớp System.String. Từ khóa "string" là một bí danh của lớp System.String. Thay vì viết System.String, người ta có thể sử dụng là String, là viết tắt của lớp System.String. Về cơ bản, string và String đều có thể được sử dụng như một bí danh của lớp System.String. Vì vậy chuỗi là một đối tượng của lớp System.String.
Ví dụ:
Dưới đây là ví dụ về chuỗi trong C#:
Lớp String được định nghĩa trong thư viện lớp dựa trên .NET. Nói cách khác, đối tượng String là tập hợp các đối tượng System.Char đại diện cho một chuỗi.
Kích thước tối đa của đối tượng String trong bộ nhớ là 2GB hoặc khoảng 1 tỷ ký tự. Lớp System.String là immutable, tức là một khi đã được tạo, trạng thái của nó không thể thay đổi.
Chương trình: Dưới đây là ví dụ minh họa cách khai báo và khởi tạo chuỗi trong một dòng duy nhất.
Kết quả đầu ra có dạng:
2. Đặc điểm của chuỗi trong C#
- Là một kiểu tham chiếu.
- Là immutable (trạng thái của nó không thể thay đổi).
- Có thể chứa null.
- Sử dụng toán tử (==).
3. Phân biệt chuỗi (string) và System.String
Chuỗi là một bí danh của System.String. Cả chuỗi và System.String đều có nghĩa giống nhau, và không ảnh hưởng đến hiệu suất của ứng dụng. "string" là một từ khóa trong C#. Vì vậy điểm khác nhau duy nhất giữa chuỗi (string) và System.String còn tùy thuộc vào từng bối cảnh.
- Chuỗi được sử dụng để khai báo, còn System.String được sử dụng để truy cập các phương thức chuỗi tĩnh.
- Chuỗi được sử dụng để khai báo các trường, thuộc tính, ... sử dụng kiểu System.String định nghĩa trước.
- Chuỗi phải sử dụng các phương thức lớp System.String, chẳng hạn như String.SubString, String.IndexOf, ... . Chuỗi chỉ là bí danh của System.String.
Lưu ý: Trong .NET, text được lưu trữ dưới dạng bộ sưu tập tuần tự các đối tượng Char để không có ký tự null kết thúc ở cuối chuỗi C#. Vì vậy chuỗi C# có thể chứa bất kỳ số lượng ký tự null nào được nhúng ('\ 0,).
4. Mảng chuỗi
Ngoài ra chúng ta có thể tạo mảng chuỗi và gán giá trị cho nó. Các mảng chuỗi có thể được tạo như sau:
Cú pháp:
Chuỗi [] mảng_biến = new chuỗi[độ dài_của_mảng]
Ví dụ:
Dưới đây là ví dụ minh họa cách tạo và gán giá trị cho mảng chuỗi:
Kết quả đầu ra có dạng:
5. Đọc chuỗi từ đầu vào người dùng
Chuỗi có thể được đọc từ đầu vào người dùng. Phương thức ReadLine() của lớp console được sử dụng để đọc một chuỗi từ đầu vào người dùng.
Ví dụ:
Đầu vào:
Kết quả đầu ra có dạng:
6. Các cách để tạo một chuỗi trong C#
- Tạo một chuỗi từ literal.
- Tạo chuỗi sử dụng toán tử nối chuỗi.
- Tạo chuỗi sử dụng constructor.
- Tạo chuỗi bằng thuộc tính hoặc phương thức.
- Tạo chuỗi bằng Format.
6.1. Tạo một chuỗi từ literal
Đây là cách phổ biến nhất để tạo một chuỗi. Trong trường hợp này, người dùng phải xác định biến chuỗi, sau đó gán giá trị trong dấu ngoặc kép. Chúng ta có thể sử dụng loại ký tự bất kỳ trong dấu ngoặc kép trừ một số ký tự đặc biệt như dấu (\).
Chương trình: dưới đây là ví dụ minh họa tạo chuỗi bằng literal:
Đầu ra có dạng:
6.2. Tạo chuỗi bằng toán tử nối chuỗi
Chúng ta có thể tạo chuỗi bằng cách sử dụng toán tử nối chuỗi "+" trong C#. Để tạo một chuỗi bất kỳ bằng cách kết hợp các biến thể chuỗi và literal, toán tử nối chuỗi (+) được sử dụng để kết hợp hoặc hợp nhất một hoặc nhiều chuỗi.
Chương trình: dưới đây là ví dụ minh họa tạo chuỗi bằng toán tử nối chuỗi:
Kết quả đầu ra có dạng:
GeeksForGeeks
6.3. Tạo chuỗi sử dụng constructor
Lớp chuỗi đã được constructor nạp chồng, lấy một mảng từ các ký tự hoặc byte. Một số constructor bao gồm các con trỏ tới mảng ký tự hoặc mảng byte đã được sign làm tham số.
Chương trình: dưới đây là ví dụ minh họa tạo chuỗi bằng constructor:
Kết quả đầu ra có dạng:
6.4. Tạo chuỗi bằng thuộc tính hoặc phương thức
Để truy xuất thuộc tính hoặc gọi một phương thức luôn trả về chuỗi. Ví dụ, sử dụng phương thức của lớp String (chuỗi) để trích xuất một chuỗi con từ chuỗi lớn hơn.
Chương trình: dưới đây là ví dụ minh họa tạo chuỗi bằng thuộc tính hoặc phương thức.
Kết quả đầu ra có dạng:
For
6.5. Tạo chuỗi bằng Format
Phương thức Format được sử dụng để chuyển đổi giá trị hoặc đối tượng thành chuỗi. Phương thức String.Format trả về một chuỗi.
Chương trình: dưới đây là ví dụ minh họa tạo chuỗi bằng phương thức Format:
Kết quả đầu ra có dạng:
10 BMW Cars color are Red
7. Thuộc tính của lớp String trong C#
Lớp String trong C# bao gồm 2 thuộc tính:
- Chars: Được sử dụng để lấy đối tượng Char tại vị trí đã được chỉ định trong đối tượng String hiện tại.
- Length: Được sử dụng để lấy số lượng các ký tự trong đối tượng String hiện tại.
https://thuthuat.taimienphi.vn/chuoi-string-trong-c-la-gi-43756n.aspx
Bài viết trên đây Taimienphi.vn vừa giới thiệu cho bạn về chuỗi (string) trong C# là gì? Nếu có bất kỳ thắc mắc hoặc câu hỏi nào cần giải đáp như Vòng lặp trong C# là gì, bạn đọc vui lòng để lại ý kiến của mình trong phần bình luận bên dưới bài viết, Taimienphi.vn sẽ giải đáp các thắc mắc của bạn sớm nhất có thể.