Trong C #, bạn có thể sử dụng chuỗi làm mảng ký tự, Tuy nhiên, thực tiễn phổ biến hơn là sử dụng sợi dây từ khóa để khai báo một biến chuỗi. Từ khóa chuỗi là một bí danh cho System.String lớp.
Tạo một đối tượng chuỗi
Mục lục
Bạn có thể tạo đối tượng chuỗi bằng một trong các phương pháp sau:
Bằng cách gán một chuỗi ký tự cho một biến Chuỗi
Bằng cách sử dụng phương thức khởi tạo lớp String
Bằng cách sử dụng toán tử nối chuỗi (+)
Bằng cách truy xuất một thuộc tính hoặc gọi một phương thức trả về một chuỗi
Bằng cách gọi một phương thức định dạng để chuyển đổi một giá trị hoặc một đối tượng thành biểu diễn chuỗi của nó
Ví dụ sau đây chứng minh điều này –
using System;
namespace StringApplication {
class Program {
static void Main(string[] args) {
//from string literal and string concatenation
string fname, lname;
fname = "Rowan";
lname = "Atkinson";
char []letters= { 'H', 'e', 'l', 'l','o' };
string [] sarray={ "Hello", "From", "Tutorials", "Point" };
string fullname = fname + lname;
Console.WriteLine("Full Name: {0}", fullname);
//by using string constructor { 'H', 'e', 'l', 'l','o' };
string greetings = new string(letters);
Console.WriteLine("Greetings: {0}", greetings);
//methods returning string { "Hello", "From", "Tutorials", "Point" };
string message = String.Join(" ", sarray);
Console.WriteLine("Message: {0}", message);
//formatting method to convert a value
DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
string chat = String.Format("Message sent at {0:t} on {0:D}", waiting);
Console.WriteLine("Message: {0}", chat);
}
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
Full Name: RowanAtkinson Greetings: Hello Message: Hello From Tutorials Point Message: Message sent at 5:58 PM on Wednesday, October 10, 2012
Thuộc tính của lớp chuỗi
Lớp String có hai thuộc tính sau:
| Sr.No. | Kê khai tài sản |
|---|---|
| 1 | Ký tự Nhận được Char đối tượng ở một vị trí xác định trong hiện tại Sợi dây sự vật. |
| 2 | Chiều dài Nhận số ký tự trong đối tượng Chuỗi hiện tại. |
Các phương thức của lớp chuỗi
Lớp String có nhiều phương thức giúp bạn làm việc với các đối tượng chuỗi. Bảng sau đây cung cấp một số phương pháp được sử dụng phổ biến nhất:
| Sr.No. | Phương pháp & Mô tả |
|---|---|
| 1 | public static int Compare (string strA, string strB) So sánh hai đối tượng chuỗi được chỉ định và trả về một số nguyên cho biết vị trí tương đối của chúng trong thứ tự sắp xếp. |
| 2 | public static int Compare (string strA, string strB, bool ignoreCase) So sánh hai đối tượng chuỗi được chỉ định và trả về một số nguyên cho biết vị trí tương đối của chúng trong thứ tự sắp xếp. Tuy nhiên, nó bỏ qua trường hợp nếu tham số Boolean là true. |
| 3 | chuỗi tĩnh công khai Concat (chuỗi str0, chuỗi str1) Nối hai đối tượng chuỗi. |
| 4 | chuỗi tĩnh công khai Concat (chuỗi str0, chuỗi str1, chuỗi str2) Nối ba đối tượng chuỗi. |
| 5 | chuỗi tĩnh công khai Concat (chuỗi str0, chuỗi str1, chuỗi str2, chuỗi str3) Nối bốn đối tượng chuỗi. |
| 6 | public bool Chứa (giá trị chuỗi) Trả về một giá trị cho biết liệu đối tượng Chuỗi được chỉ định có xuất hiện trong chuỗi này hay không. |
| 7 | public static string Copy (string str) Tạo một đối tượng Chuỗi mới có cùng giá trị với chuỗi đã chỉ định. |
| số 8 | public void CopyTo (int sourceIndex, char[] đích, int đíchIndex, số nguyên) Sao chép một số ký tự được chỉ định từ một vị trí cụ thể của đối tượng Chuỗi sang một vị trí cụ thể trong một mảng các ký tự Unicode. |
| 9 | công khai bool EndsWith (giá trị chuỗi) Xác định xem phần cuối của đối tượng chuỗi có khớp với chuỗi được chỉ định hay không. |
| 10 | public bool Equals (giá trị chuỗi) Xác định xem đối tượng String hiện tại và đối tượng String được chỉ định có cùng giá trị hay không. |
| 11 | public static bool Equals (chuỗi a, chuỗi b) Xác định xem hai đối tượng Chuỗi được chỉ định có cùng giá trị hay không. |
| 12 | Định dạng chuỗi tĩnh công khai (định dạng chuỗi, Đối tượng arg0) Thay thế một hoặc nhiều mục định dạng trong một chuỗi được chỉ định bằng biểu diễn chuỗi của một đối tượng được chỉ định. |
| 13 | public int IndexOf (giá trị char) Trả về chỉ số dựa trên 0 của lần xuất hiện đầu tiên của ký tự Unicode được chỉ định trong chuỗi hiện tại. |
| 14 | public int IndexOf (giá trị chuỗi) Trả về chỉ mục dựa trên 0 của lần xuất hiện đầu tiên của chuỗi được chỉ định trong trường hợp này. |
| 15 | public int IndexOf (giá trị char, int startIndex) Trả về chỉ mục dựa trên 0 của lần xuất hiện đầu tiên của ký tự Unicode được chỉ định trong chuỗi này, bắt đầu tìm kiếm tại vị trí ký tự đã chỉ định. |
| 16 | public int IndexOf (giá trị chuỗi, int startIndex) Trả về chỉ mục dựa trên 0 của lần xuất hiện đầu tiên của chuỗi được chỉ định trong trường hợp này, bắt đầu tìm kiếm tại vị trí ký tự được chỉ định. |
| 17 | public int IndexOfAny (char[] bất kỳ) Trả về chỉ số dựa trên 0 của lần xuất hiện đầu tiên trong trường hợp này của bất kỳ ký tự nào trong một mảng ký tự Unicode được chỉ định. |
| 18 | public int IndexOfAny (char[] anyOf, int startIndex) Trả về chỉ số dựa trên 0 của lần xuất hiện đầu tiên trong trường hợp này của bất kỳ ký tự nào trong một mảng ký tự Unicode được chỉ định, bắt đầu tìm kiếm tại vị trí ký tự được chỉ định. |
| 19 | chuỗi công khai Chèn (int startIndex, giá trị chuỗi) Trả về một chuỗi mới trong đó một chuỗi đã chỉ định được chèn vào một vị trí chỉ mục được chỉ định trong đối tượng chuỗi hiện tại. |
| 20 | public static bool IsNullOrEmpty (giá trị chuỗi) Cho biết chuỗi được chỉ định là null hay là chuỗi rỗng. |
| 21 | chuỗi tĩnh công cộng Tham gia (dấu phân tách chuỗi, chuỗi tham số[] giá trị) Nối tất cả các phần tử của một mảng chuỗi, sử dụng dấu phân cách được chỉ định giữa mỗi phần tử. |
| 22 | chuỗi tĩnh công cộng Tham gia (dấu phân tách chuỗi, chuỗi[] giá trị, int startIndex, int count) Nối các phần tử được chỉ định của một mảng chuỗi, sử dụng dấu phân cách được chỉ định giữa mỗi phần tử. |
| 23 | public int LastIndexOf (giá trị char) Trả về vị trí chỉ mục dựa trên 0 của lần xuất hiện cuối cùng của ký tự Unicode được chỉ định trong đối tượng chuỗi hiện tại. |
| 24 | public int LastIndexOf (giá trị chuỗi) Trả về vị trí chỉ mục dựa trên 0 của lần xuất hiện cuối cùng của một chuỗi được chỉ định trong đối tượng chuỗi hiện tại. |
| 25 | chuỗi công khai Xóa (int startIndex) Loại bỏ tất cả các ký tự trong phiên bản hiện tại, bắt đầu từ một vị trí được chỉ định và tiếp tục đến vị trí cuối cùng và trả về chuỗi. |
| 26 | chuỗi công khai Xóa (int startIndex, int count) Loại bỏ số ký tự được chỉ định trong chuỗi hiện tại bắt đầu tại một vị trí được chỉ định và trả về chuỗi. |
| 27 | chuỗi công khai Replace (char oldChar, char newChar) Thay thế tất cả các lần xuất hiện của một ký tự Unicode được chỉ định trong đối tượng chuỗi hiện tại bằng ký tự Unicode được chỉ định và trả về chuỗi mới. |
| 28 | chuỗi công khai Thay thế (chuỗi oldValue, chuỗi newValue) Thay thế tất cả các lần xuất hiện của một chuỗi được chỉ định trong đối tượng chuỗi hiện tại bằng chuỗi được chỉ định và trả về chuỗi mới. |
| 29 | chuỗi công khai[] Tách (params char[] ngăn cách) Trả về một mảng chuỗi có chứa các chuỗi con trong đối tượng chuỗi hiện tại, được phân tách bằng các phần tử của một mảng ký tự Unicode đã chỉ định. |
| 30 | chuỗi công khai[] Tách (ký tự[] dấu phân tách, số int) Trả về một mảng chuỗi có chứa các chuỗi con trong đối tượng chuỗi hiện tại, được phân tách bằng các phần tử của một mảng ký tự Unicode đã chỉ định. Tham số int chỉ định số lượng chuỗi con tối đa để trả về. |
| 31 | public bool StartsWith (giá trị chuỗi) Xác định xem phần đầu của cá thể chuỗi này có khớp với chuỗi được chỉ định hay không. |
| 32 | char công cộng[] ToCharArray () Trả về một mảng ký tự Unicode với tất cả các ký tự trong đối tượng chuỗi hiện tại. |
| 33 | char công cộng[] ToCharArray (int startIndex, int length) Trả về một mảng ký tự Unicode với tất cả các ký tự trong đối tượng chuỗi hiện tại, bắt đầu từ chỉ mục được chỉ định và lên đến độ dài được chỉ định. |
| 34 | chuỗi công khai ToLower () Trả về bản sao của chuỗi này được chuyển đổi thành chữ thường. |
| 35 | chuỗi công khai ToUpper () Trả về bản sao của chuỗi này được chuyển đổi thành chữ hoa. |
| 36 | chuỗi công khai Trim () Xóa tất cả các ký tự khoảng trắng đầu và cuối khỏi đối tượng Chuỗi hiện tại. |
Bạn có thể truy cập thư viện MSDN để biết danh sách đầy đủ các phương thức và hàm tạo lớp String.
Các ví dụ
Ví dụ sau minh họa một số phương pháp được đề cập ở trên:
So sánh các chuỗi
using System;
namespace StringApplication {
class StringProg {
static void Main(string[] args) {
string str1 = "This is test";
string str2 = "This is text";
if (String.Compare(str1, str2) == 0) {
Console.WriteLine(str1 + " and " + str2 + " are equal.");
} else {
Console.WriteLine(str1 + " and " + str2 + " are not equal.");
}
Console.ReadKey() ;
}
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
This is test and This is text are not equal.
Chuỗi chứa chuỗi
using System;
namespace StringApplication {
class StringProg {
static void Main(string[] args) {
string str = "This is test";
if (str.Contains("test")) {
Console.WriteLine("The sequence 'test' was found.");
}
Console.ReadKey() ;
}
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
The sequence 'test' was found.
Lấy một chuỗi con
using System;
namespace StringApplication {
class StringProg {
static void Main(string[] args) {
string str = "Last night I dreamt of San Pedro";
Console.WriteLine(str);
string substr = str.Substring(23);
Console.WriteLine(substr);
}
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
San Pedro
Tham gia chuỗi
using System;
namespace StringApplication {
class StringProg {
static void Main(string[] args) {
string[] starray = new string[]{"Down the way nights are dark",
"And the sun shines daily on the mountain top",
"I took a trip on a sailing ship",
"And when I reached Jamaica",
"I made a stop"};
string str = String.Join("\n", starray);
Console.WriteLine(str);
}
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
Down the way nights are dark And the sun shines daily on the mountain top I took a trip on a sailing ship And when I reached Jamaica I made a stop
