C # - Chuỗi
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 stringtừ khóa để khai báo một biến chuỗi. Từ khóa chuỗi là một bí danh choSystem.String lớp học.
Tạo một đối tượng chuỗi
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 | Chars Gets the Char đối tượng tại một vị trí xác định trong hiện tại chuỗi đối tượng. |
2 | Length 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 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 | public static string Concat(string str0, string str1) Nối hai đối tượng chuỗi. |
4 | public static string Concat(string str0, string str1, string str2) Nối ba đối tượng chuỗi. |
5 | public static string Concat(string str0, string str1, string str2, string str3) Nối bốn đối tượng chuỗi. |
6 | public bool Contains(string value) 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[] destination, int destinationIndex, int count) 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 | public bool EndsWith(string value) 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(string value) 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(string a, string b) Xác định xem hai đối tượng Chuỗi được chỉ định có cùng giá trị hay không. |
12 | public static string Format(string format, Object 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(char value) 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(string value) 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(char value, 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(string value, 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[] anyOf) 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 | public string Insert(int startIndex, string value) 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 đã chỉ định trong đối tượng chuỗi hiện tại. |
20 | public static bool IsNullOrEmpty(string value) Cho biết chuỗi được chỉ định là null hay là chuỗi rỗng. |
21 | public static string Join(string separator, params string[] value) 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 | public static string Join(string separator, string[] value, 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(char value) 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(string value) 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 | public string Remove(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 | public string Remove(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 | public string 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 | public string Replace(string oldValue, string 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 | public string[] Split(params char[] separator) Trả về một mảng chuỗi 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ảng ký tự Unicode đã chỉ định. |
30 | public string[] Split(char[] separator, int count) Trả về một mảng chuỗi 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ảng ký tự Unicode đã chỉ định. Tham số int chỉ định số chuỗi con tối đa để trả về. |
31 | public bool StartsWith(string value) 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 | public char[] 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 | public char[] 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 | public string ToLower() Trả về bản sao của chuỗi này được chuyển đổi thành chữ thường. |
35 | public string ToUpper() Trả về bản sao của chuỗi này được chuyển đổi thành chữ hoa. |
36 | public string Trim() Loại bỏ 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.
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.
Nhận 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