http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Chuỗi (String) C# Trong C#, bạn sử dụng chuỗi (string) mảng ký tự Tuy nhiên, phổ biến để sử dụng từ khóa string để khai báo biến chuỗi Từ khóa string alias cho lớp System.String C# Tạo đối tượng String C# Bạn tạo đối tượng String sử dụng phương thức sau: Bằng việc gán chuỗi cho biến String Sử dụng constructor lớp String Sử dụng toán tử nối chuỗi (+) Bởi việc thu nhận thuộc tính gọi phương thức mà trả chuỗi Bằng việc gọi phương thức định dạng để chuyển đổi giá trị đối tượng thành biểu diễn chuỗi Ví dụ sau minh họa phương thức để tạo chuỗi C#: using System; namespace StringApplication { class Program { static void Main(string[] args) { //from string literal and string concatenation string fname, lname; fname = "Rowan"; lname = "Atkinson"; string fullname = fname + lname; Console.WriteLine("Full Name: {0}", fullname); http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/csharp/index.jsp Copyright © vietjack.com //by using string constructor char[] letters = { 'H', 'e', 'l', 'l','o' }; string greetings = new string(letters); Console.WriteLine("Greetings: {0}", greetings); //methods returning string string[] sarray = { "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 code biên dịch thực thi, cho kết quả: Full Name: Rowan Atkinson Greetings: Hello Message: Hello From Tutorials Point Message: Message sent at 5:58 PM on Wednesday, October 10, 2012 Các thuộc tính lớp String C# Lớp String C# có hai thuộc tính: STT Thuộc tính Chars Lấy đối tượng Char vị trí cụ thể đối tượng String http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Length Lấy số ký tự đối tượng String Phương thức lớp String C# Lớp String có số phương thức mà hữu ích cho bạn làm việc với đối tượng String C# Bảng liệt kê phương thức sử dụng phổ biến nhất: STT Phương thức public static int Compare(string strA, string strB) So sánh hai đối tượng String cụ thể trả integer mà vị trí có liên quan chúng thứ tự xếp public static int Compare(string strA, string strB, bool ignoreCase ) So sánh hai đối tượng String cụ thể trả integer mà vị trí có liên quan chúng thứ tự xếp Tuy nhiên, bỏ qua phân biệt kiểu tham số Boolean true public static string Concat(string str0, string str1) Nối chuỗi hai đối tượng String public static string Concat(string str0, string str1, string str2) Nối chuỗi ba đối tượng String public static string Concat(string str0, string str1, string str2, string str3) Nối chuỗi bốn đối tượng String public bool Contains(string value) Trả giá trị dẫn có hay khơng đối tượng String cho xuất bên http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/csharp/index.jsp Copyright © vietjack.com chuỗi public static string Copy(string str) Tạo đối tượng String với giá trị chuỗi cho public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count) Sao chép số ký tự cụ thể từ vị trí cho đối tượng String tới vị trí xác định mảng ký tự Unicode public bool EndsWith(string value) Xác định có hay khơng phần kết thúc đối tượng String so khớp với chuỗi cho 10 public bool Equals(string value) Xác định có hay không đối tượng String đối tượng String cho có giá trị 11 public static bool Equals(string a, string b) Xác định có hay khơng hai đối tượng String cho có giá trị 12 public static string Format(string format, Object arg0) Thay nhiều mục định dạng chuỗi cho với biểu diễn chuỗi đối tượng cụ thể 13 public int IndexOf(char value) Trả mục (dựa sở 0) cho xuất ký tự Unicode cho chuỗi 14 public int IndexOf(string value) Trả mục (dựa sở 0) cho xuất chuỗi cho http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Instance (sự thể hiện) 15 public int IndexOf(char value, int startIndex) Trả mục (dựa sở 0) cho xuất ký tự Unicode cho chuỗi này, bắt đầu tìm kiếm vị trí ký tự cho 16 public int IndexOf(string value, int startIndex) Trả mục (dựa sở 0) cho xuất chuỗi cho Instance (sự thể hiện) này, bắt đầu tìm kiếm vị trí ký tự cho 17 public int IndexOfAny(char[] anyOf) Trả mục (dựa sở 0) cho xuất Instance (sự thể hiện) ký tự mảng ký tự Unicode xác định 18 public int IndexOfAny(char[] anyOf, int startIndex) Trả mục (dựa sở 0) cho xuất Instance (sự thể hiện) ký tự mảng ký tự Unicode xác định, bắt đầu tìm kiếm vị trí ký tự cho 19 public string Insert(int startIndex, string value) Trả chuỗi chuỗi cho chèn vị trí có mục xác định đối tượng String 20 public static bool IsNullOrEmpty(string value) Chỉ có hay khơng chuỗi cho null chuỗi Empty 21 public static string Join(string separator, params string[] value) Nối chuỗi tất phần tử mảng chuỗi, sử dụng Separator (bộ tách) cho phần tử http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/csharp/index.jsp 22 Copyright © vietjack.com public static string Join(string separator, string[] value, int startIndex, int count) Nối chuỗi phần tử xác định mảng chuỗi, sử dụng Separator (bộ tách) cho phần tử 23 public int LastIndexOf(char value) Trả mục (dựa sở 0) cho xuất cuối ký tự Unicode cho bên đối tượng String 24 public int LastIndexOf(string value) Trả mục (dựa sở 0) cho xuất cuối chuỗi cho bên đối tượng String 25 public string Remove(int startIndex) Gỡ bỏ tất ký tự Instance tại, bắt đầu vị trí xác định tiếp tục tới vị trí cuối cùng, trả chuỗi 26 public string Remove(int startIndex, int count) Gỡ bỏ số ký tự cho chuỗi bắt đầu vị trí xác định trả chuỗi 27 public string Replace(char oldChar, char newChar) Thay tất ký tự Unicode cho xuất đối tượng String với ký tự Unicode xác định trả chuỗi 28 public string Replace(string oldValue, string newValue) Thay tất chuỗi cho xuất đối tượng String với đối tượng string xác định trả chuỗi 29 public string[] Split(params char[] separator) Trả mảng chuỗi mà chứa chuỗi phụ đối tượng String tại, http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/csharp/index.jsp Copyright © vietjack.com giới hạn phần tử mảng ký tự Unicode cho 30 public string[] Split(char[] separator, int count) Trả mảng chuỗi mà chứa chuỗi phụ đối tượng String tại, giới hạn phần tử mảng ký tự Unicode cho Tham số int xác định số chuỗi phụ tối đa để trả 31 public bool StartsWith(string value) Xác định có hay khơng phần bắt đầu instance chuỗi so khớp với chuỗi cho 32 public char[] ToCharArray() Trả mảng ký tự Unicode với tất ký tự đối tượng String 33 public char[] ToCharArray(int startIndex, int length) Trả mảng ký tự Unicode với tất ký tự đối tượng String tại, mục xác định tới độ dài cho 34 public string ToLower() Trả chuỗi biến đổi thành chữ thường 35 public string ToUpper() Trả chuỗi biến đổi thành chữ hoa 36 public string Trim() Gỡ bỏ tất ký tự whitespace từ đối tượng String Bạn vào thư viện MSDN để lấy danh sách đầy đủ phương thức constructor lớp String http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Ví dụ Ví dụ sau minh họa số phương thức trên: So sánh chuỗi C#: 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 code biên dịch thực thi, cho kết quả: This is test and This is text are not equal Chuỗi chứa chuỗi C#: using System; namespace StringApplication http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/csharp/index.jsp Copyright © vietjack.com { 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 code biên dịch thực thi, cho kết quả: The sequence 'test' was found Lấy chuỗi phụ C#: 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); } } } http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Khi code biên dịch thực thi, cho kết quả: San Pedro Nối chuỗi C#: 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 code biên dịch thực thi, cho kết quả: 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 http://vietjack.com/ Trang chia sẻ học online miễn phí Page 10 ... số ký tự cho chuỗi bắt đầu vị trí x c định trả chuỗi 27 public string Replace(char oldChar, char newChar) Thay tất ký tự Unicode cho xuất đối tượng String với ký tự Unicode x c định trả chuỗi 28... 0) cho xuất chuỗi cho http://vietjack.com/ Trang chia sẻ h c online miễn phí Page http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Instance (sự thể hiện) 15 public int IndexOf(char... http://vietjack.com/ Trang chia sẻ h c online miễn phí Page http://vietjack.com/csharp/index.jsp Copyright © vietjack.com chuỗi public static string Copy(string str) Tạo đối tượng String với giá trị chuỗi