Trang chủ
Bài viết mới
Diễn đàn
Bài mới trên hồ sơ
Hoạt động mới nhất
VIDEO
Mùa Tết
Văn Học Trẻ
Văn Học News
Media
New media
New comments
Search media
Đại Học
Đại cương
Chuyên ngành
Triết học
Kinh tế
KHXH & NV
Công nghệ thông tin
Khoa học kĩ thuật
Luận văn, tiểu luận
Phổ Thông
Lớp 12
Ngữ văn 12
Lớp 11
Ngữ văn 11
Lớp 10
Ngữ văn 10
LỚP 9
Ngữ văn 9
Lớp 8
Ngữ văn 8
Lớp 7
Ngữ văn 7
Lớp 6
Ngữ văn 6
Tiểu học
Thành viên
Thành viên trực tuyến
Bài mới trên hồ sơ
Tìm trong hồ sơ cá nhân
Credits
Transactions
Xu: 0
Đăng nhập
Đăng ký
Có gì mới?
Tìm kiếm
Tìm kiếm
Chỉ tìm trong tiêu đề
Bởi:
Hoạt động mới nhất
Đăng ký
Menu
Đăng nhập
Đăng ký
Install the app
Cài đặt
Chào mừng Bạn tham gia Diễn Đàn VNKienThuc.com -
Định hướng Forum
Kiến Thức
- HÃY TẠO CHỦ ĐỀ KIẾN THỨC HỮU ÍCH VÀ CÙNG NHAU THẢO LUẬN Kết nối:
VNK X
-
VNK groups
| Nhà Tài Trợ:
BhnongFood X
-
Bhnong groups
-
Đặt mua Bánh Bhnong
CÔNG NGHỆ
Công Nghệ Thông Tin
Code
Tìm hiểu về chuỗi String trong C#
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Trả lời chủ đề
Nội dung
<blockquote data-quote="uocmo_kchodoi" data-source="post: 177531" data-attributes="member: 165510"><p style="text-align: center"><strong><span style="color: #ff0000">CHUỖI (STRING) TRONG C#</span></strong></p> <p style="text-align: center"><strong><span style="color: #ff0000"></span></strong></p><p>String là một kiểu dữ liệu tham chiếu được dùng để lưu trữ chuỗi ký tự. Vì là một kiểu dữ liệu nên cách khai báo và sử dụng hoàn toàn tương tự các kiểu dữ liệu<a href="https://www.howkteam.vn/redirect?Id=Y%2fHKZv6fbvNJnzXtx4Ic0rZRqPOVzQSxG20E6RGIOYH2ztT5H01j3ihV01MA5mugoAL0u3PcjNdChSHRV0wc0BkVeflYwdzDfL2nyGBnSfGwDQ1dSv2WBaFRyZdAe8e6" target="_blank"> </a>khác. Tuy nhiên, string được dùng phổ biến hơn là để khai báo một biến chuỗi. Từ khóa string là một alias cho lớpSystem.String trong C#.</p><p></p><p><span style="font-size: 18px"><strong>1. Tạo một đối tượng String trong C#</strong></span></p><p><span style="font-size: 18px"></span></p><p>Bạn có thể tạo đối tượng String bởi sử dụng một trong các phương thức sau:</p><ul> <li data-xf-list-type="ul">Bằng việc gán một hằng chuỗi cho một biến String<br /> <br /> </li> <li data-xf-list-type="ul">Sử dụng một constructor của lớp String<br /> <br /> </li> <li data-xf-list-type="ul">Sử dụng toán tử nối chuỗi (+)<br /> <br /> </li> <li data-xf-list-type="ul">Bởi việc thu nhận một thuộc tính hoặc gọi một phương thức mà trả về một chuỗi<br /> <br /> </li> <li data-xf-list-type="ul">Bằng việc 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ó.<br /> </li> </ul><p><strong>Ví dụ:</strong></p><p></p><p><em><span style="color: #5900b3">using System;</span></em></p><p><em><span style="color: #5900b3">namespace VietJackCsharp</span></em></p><p><em><span style="color: #5900b3">{</span></em></p><p><em><span style="color: #5900b3"> class TestCsharp</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> static void Main(string[] args)</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("Cac cach tao chuoi trong C#");</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("-------------------------------------");</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> //su dung phep gan hang chuoi va toan tu noi chuoi</span></em></p><p><em><span style="color: #5900b3"> string fname, lname;</span></em></p><p><em><span style="color: #5900b3"> fname = "Tran Minh";</span></em></p><p><em><span style="color: #5900b3"> lname = "Chinh";</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> string fullname = fname + " " + lname;</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("Ho va ten: {0}", fullname);</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> //su dung constructor cua lop string</span></em></p><p><em><span style="color: #5900b3"> char[] letters = { 'H', 'e', 'l', 'l', 'o' };</span></em></p><p><em><span style="color: #5900b3"> string greetings = new string(letters);</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("\nLoi chao bang tieng Anh: {0}", greetings);</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> //tu cac phuong thuc ma tra ve mot chuoi</span></em></p><p><em><span style="color: #5900b3"> string[] sarray = { "VietJack", "xin", "chao", "cac","ban" };</span></em></p><p><em><span style="color: #5900b3"> string message = String.Join(" ", sarray);</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("\nThong diep: {0}", message);</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> //dinh dang phuong thuc de chuyen doi mot gia tri</span></em></p><p><em><span style="color: #5900b3"> DateTime waiting = new DateTime(2016, 8, 1, 17, 58, 1);</span></em></p><p><em><span style="color: #5900b3"> string chat = String.Format("Thong diep duoc gui luc {0:t} ngay {0<img src="https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/72x72/1f600.png" class="smilie smilie--emoji" loading="lazy" width="72" height="72" alt=":D" title="Big grin :D" data-smilie="8"data-shortname=":D" />}", waiting);</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("\nThong diep: {0}", chat);</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> Console.ReadKey();</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3">}</span></em></p><p>Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.</p><p></p><p>Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:</p><p></p><p style="text-align: center"><img src="https://vietjack.com/csharp/images/tao-chuoi.PNG" alt="" class="fr-fic fr-dii fr-draggable " data-size="" style="" /></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: #0000ff"><strong>2. Các thuộc tính của lớp String trong C#</strong></span></span></p><p><span style="font-size: 18px"></span></p><p>Lớp String trong C# có hai thuộc tính:</p><p>- Chars: Lấy đối tượng <em>Char</em> tại một vị trí cụ thể trong đối tượng <em>String</em> hiện tại</p><p></p><p>- Length: Lấy số ký tự của đối tượng String hiện tại</p><p></p><p><span style="font-size: 18px"><span style="color: #0000ff"><strong>3. Phương thức của lớp String trong C#</strong></span></span></p><p><span style="font-size: 18px"><span style="color: #0000ff"></span></span></p><p>Lớp String có một số phương thức mà hữu ích cho bạn trong khi làm việc với các đối tượng String trong C#. Bảng dưới đây liệt kê các phương thức được sử dụng phổ biến nhất:</p><p></p><p><span style="color: #00b300">1. public static int Compare(string strA, string strB)</span></p><p>So sánh hai đối tượng String cụ thể và trả về một integer mà chỉ vị trí có liên quan của chúng trong thứ tự sắp xếp</p><p></p><p><span style="color: #00b300">2. public static int Compare(string strA, string strB, bool ignoreCase )</span></p><p>So sánh hai đối tượng String cụ thể và trả về một integer mà chỉ vị trí có liên quan của chúng trong thứ tự sắp xếp. Tuy nhiên, nó bỏ qua sự phân biệt kiểu nếu tham số Boolean là true</p><p></p><p><span style="color: #00b300">3. public static string Concat(string str0, string str1)</span></p><p>Nối chuỗi hai đối tượng String</p><p></p><p><span style="color: #00b300">4. public static string Concat(string str0, string str1, string str2)</span></p><p>Nối chuỗi ba đối tượng String</p><p></p><p><span style="color: #00b300">5. public static string Concat(string str0, string str1, string str2, string str3)</span></p><p>Nối chuỗi bốn đối tượng String</p><p></p><p><span style="color: #00b300">6. public bool Contains(string value)</span></p><p>Trả về một giá trị chỉ dẫn có hay không đối tượng String đã cho xuất hiện bên trong chuỗi này</p><p></p><p><span style="color: #00b300">7. public static string Copy(string str)</span></p><p>Tạo một đối tượng String mới với cùng giá trị như chuỗi đã cho</p><p></p><p><span style="color: #00b300">8. public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count)</span></p><p>Sao chép một số ký tự cụ thể từ một vị trí đã cho của đối tượng String tới một vị trí đã xác định trong một mảng các ký tự Unicode</p><p></p><p><span style="color: #00b300">9. public bool EndsWith(string value)</span></p><p>Xác định có hay không phần kết thúc của đối tượng String là so khớp với chuỗi đã cho</p><p></p><p><span style="color: #00b300">10. public bool Equals(string value)</span></p><p>Xác định có hay không đối tượng String hiện tại và đối tượng String đã cho là có cùng giá trị</p><p></p><p><span style="color: #00b300">11. public static bool Equals(string a, string b)</span></p><p>Xác định có hay không hai đối tượng String đã cho có cùng giá trị</p><p></p><p><span style="color: #00b300">12. public static string Format(string format, Object arg0)</span></p><p>Thay thế một hoặc nhiều mục định dạng trong một chuỗi đã cho với biểu diễn chuỗi của một đối tượng cụ thể</p><p></p><p><span style="color: #00b300">13. public int IndexOf(char value)</span></p><p>Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của ký tự Unicode đã cho trong chuỗi hiện tại</p><p></p><p><span style="color: #00b300">14. public int IndexOf(string value)</span></p><p>Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của chuỗi đã cho trong Instance (sự thể hiện) này</p><p></p><p><span style="color: #00b300">15. public int IndexOf(char value, int startIndex)</span></p><p>Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của ký tự Unicode đã cho trong chuỗi này, bắt đầu tìm kiếm tại vị trí của ký tự đã cho</p><p></p><p><span style="color: #00b300">16. public int IndexOf(string value, int startIndex)</span></p><p>Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của chuỗi đã cho trong Instance (sự thể hiện) này, bắt đầu tìm kiếm tại vị trí của ký tự đã cho</p><p></p><p><span style="color: #00b300">17. public int IndexOfAny(char[] anyOf)</span></p><p>Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của Instance (sự thể hiện) này của bất kỳ ký tự nào trong một mảng ký tự Unicode đã xác định</p><p></p><p><span style="color: #00b300">18. public int IndexOfAny(char[] anyOf, int startIndex)</span></p><p>Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của Instance (sự thể hiện) này của bất kỳ ký tự nào trong một mảng ký tự Unicode đã xác định, bắt đầu tìm kiếm tại vị trí của ký tự đã cho</p><p></p><p><span style="color: #00b300">19. public string Insert(int startIndex, string value)</span></p><p>Trả về một chuỗi mới trong đó một chuỗi đã cho được chèn tại một vị trí có chỉ mục đã xác định trong đối tượng String hiện tại</p><p></p><p><span style="color: #00b300">20. public static bool IsNullOrEmpty(string value)</span></p><p>Chỉ rằng có hay không chuỗi đã cho là null hoặc là một chuỗi Empty</p><p></p><p><span style="color: #00b300">21. public static string Join(string separator, params string[] value)</span></p><p>Nối chuỗi tất cả phần tử của một mảng chuỗi, bởi sử dụng Separator (bộ tách) đã cho giữa mỗi phần tử</p><p></p><p><span style="color: #00b300">22. public static string Join(string separator, string[] value, int startIndex, int count)</span></p><p>Nối chuỗi các phần tử đã xác định của một mảng chuỗi, bởi sử dụng Separator (bộ tách) đã cho giữa mỗi phần tử</p><p></p><p><span style="color: #00b300">23. public int LastIndexOf(char value)</span></p><p>Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện cuối cùng của ký tự Unicode đã cho bên trong đối tượng String hiện tại</p><p></p><p><span style="color: #00b300">24. public int LastIndexOf(string value)</span></p><p>Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện cuối cùng của một chuỗi đã cho bên trong đối tượng String hiện tại</p><p></p><p><span style="color: #00b300">25. public string Remove(int startIndex)</span></p><p>Gỡ bỏ tất cả ký tự trong Instance hiện tại, bắt đầu tại vị trí đã xác định và tiếp tục tới vị trí cuối cùng, và trả về chuỗi đó</p><p></p><p><span style="color: #00b300">26. public string Remove(int startIndex, int count)</span></p><p>Gỡ bỏ số ký tự đã cho trong chuỗi hiện tại bắt đầu tại một vị trí đã xác định và trả về chuỗi đó</p><p></p><p><span style="color: #00b300">27. public string Replace(char oldChar, char newChar)</span></p><p>Thay thế tất cả ký tự Unicode đã cho xuất hiện trong đối tượng String hiện tại với ký tự Unicode đã xác định và trả về chuỗi mới</p><p></p><p><span style="color: #00b300">28. public string Replace(string oldValue, string newValue)</span></p><p>Thay thế tất cả chuỗi đã cho xuất hiện trong đối tượng String hiện tại với đối tượng string đã xác định và trả về chuỗi mới</p><p></p><p><span style="color: #00b300">29. public string[] Split(params char[] separator)</span></p><p>Trả về một mảng chuỗi mà chứa các chuỗi phụ trong đối tượng String hiện tại, được giới hạn bởi các phần tử của một mảng ký tự Unicode đã cho</p><p></p><p><span style="color: #00b300">30. public string[] Split(char[] separator, int count)</span></p><p>Trả về một mảng chuỗi mà chứa các chuỗi phụ trong đối tượng String hiện tại, được giới hạn bởi các phần tử của một mảng ký tự Unicode đã cho. Tham số int xác định số chuỗi phụ tối đa để trả về</p><p></p><p><span style="color: #00b300">31. public bool StartsWith(string value)</span></p><p>Xác định có hay không phần bắt đầu của instance của chuỗi này so khớp với chuỗi đã cho</p><p></p><p><span style="color: #00b300">32. public char[] ToCharArray()</span></p><p>Trả về một mảng ký tự Unicode với tất cả ký tự trong đối tượng String hiện tại</p><p></p><p><span style="color: #00b300">33. public char[] ToCharArray(int startIndex, int length)</span></p><p>Trả về một mảng ký tự Unicode với tất cả ký tự trong đối tượng String hiện tại, bắt đầu từ chỉ mục đã xác định và tới độ dài đã cho</p><p></p><p><span style="color: #00b300">34. public string ToLower()</span></p><p>Trả về một bản sao của chuỗi này đã được biến đổi thành chữ thường</p><p></p><p><span style="color: #00b300">35. public string ToUpper()</span></p><p>Trả về một bản sao của chuỗi này đã được biến đổi thành chữ hoa</p><p></p><p><span style="color: #00b300">36. public string Trim()</span></p><p>Gỡ bỏ tất cả ký tự whitespace từ đối tượng String hiện tại</p><p></p><p>Bạn có thể vào thư viện MSDN để lấy danh sách đầy đủ các phương thức và constructor của lớp String.</p><p></p><p><span style="font-size: 18px"><strong>Ví dụ</strong></span></p><p><span style="font-size: 18px"></span></p><p>Ví dụ sau minh họa một số phương thức trên:</p><p></p><p><strong><em>So sánh chuỗi trong C#:</em></strong></p><p></p><p><em><span style="color: #5900b3">using System;</span></em></p><p><em><span style="color: #5900b3">namespace VietJackCsharp</span></em></p><p><em><span style="color: #5900b3">{</span></em></p><p><em><span style="color: #5900b3"> class TestCsharp</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> static void Main(string[] args)</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("So sanh chuoi trong C#");</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("-------------------------------------");</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> string str1 = "So sanh chuoi trong C#";</span></em></p><p><em><span style="color: #5900b3"> string str2 = "So sanh chuoi trong Csharp";</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> if (String.Compare(str1, str2) == 0)</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine(str1 + " va " + str2 + " la giong nhau.");</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3"> else</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine(str1 + " va " + str2 + " la khong giong nhau.");</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> Console.ReadKey();</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3">}</span></em></p><p>Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.</p><p></p><p>Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:</p><p></p><p><img src="https://vietjack.com/csharp/images/so-sanh-chuoi.PNG" alt="" class="fr-fic fr-dii fr-draggable " data-size="" style="" /></p><p></p><p><strong><em>Kiểm tra chuỗi con trong C#:</em></strong></p><p></p><p><em><span style="color: #5900b3">using System;</span></em></p><p><em><span style="color: #5900b3">namespace VietJackCsharp</span></em></p><p><em><span style="color: #5900b3">{</span></em></p><p><em><span style="color: #5900b3"> class TestCsharp</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> static void Main(string[] args)</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("Kiem tra chuoi con trong C#");</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("-------------------------------------");</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> string str = "Chuoi con trong C#";</span></em></p><p><em><span style="color: #5900b3"> if (str.Contains("trong"))</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("Tim thay chuoi con 'trong'.");</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> Console.ReadKey();</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3">}</span></em></p><p>Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.</p><p></p><p>Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:</p><p></p><p style="text-align: center"><img src="https://vietjack.com/csharp/images/chuoi-con.PNG" alt="" class="fr-fic fr-dii fr-draggable " data-size="" style="" /></p><p><strong><em>Lấy chuỗi con trong C#:</em></strong></p><p></p><p><em><span style="color: #5900b3">using System;</span></em></p><p><em><span style="color: #5900b3">namespace VietJackCsharp</span></em></p><p><em><span style="color: #5900b3">{</span></em></p><p><em><span style="color: #5900b3"> class TestCsharp</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> static void Main(string[] args)</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("Lay chuoi con trong C#");</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("-------------------------------------");</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> string str = "Lay chuoi con trong C#";</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("Chuoi ban dau: " +str);</span></em></p><p><em><span style="color: #5900b3"> string substr = str.Substring(10);</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("Chuoi con: " +substr);</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> Console.ReadKey();</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3">}</span></em></p><p>Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.</p><p></p><p>Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:</p><p></p><p style="text-align: center"><img src="https://vietjack.com/csharp/images/lay-chuoi-con.PNG" alt="" class="fr-fic fr-dii fr-draggable " data-size="" style="" /></p><p><strong><em>Nối chuỗi trong C#:</em></strong></p><p></p><p><em><span style="color: #5900b3">using System;</span></em></p><p><em><span style="color: #5900b3">namespace VietJackCsharp</span></em></p><p><em><span style="color: #5900b3">{</span></em></p><p><em><span style="color: #5900b3"> class TestCsharp</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> static void Main(string[] args)</span></em></p><p><em><span style="color: #5900b3"> {</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("Noi chuoi trong C#");</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine("-------------------------------------");</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> string[] starray = new string[]{"Hoc C# co ban va nang cao tai VietJack.",</span></em></p><p><em><span style="color: #5900b3"> "Chuong nay trinh bay ve chuoi trong C#.",</span></em></p><p><em><span style="color: #5900b3"> "Chung ta dang tim hieu ve noi chuoi trong C#.",</span></em></p><p><em><span style="color: #5900b3"> "VietJack chuc cac ban hoc tot.",</span></em></p><p><em><span style="color: #5900b3"> "Xin tran trong cam on!"};</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> string str = String.Join("\n", starray);</span></em></p><p><em><span style="color: #5900b3"> Console.WriteLine(str);</span></em></p><p><em><span style="color: #5900b3"></span></em></p><p><em><span style="color: #5900b3"> Console.ReadKey();</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3"> }</span></em></p><p><em><span style="color: #5900b3">}</span></em></p><p>Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.</p><p></p><p>Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:</p><p></p><p style="text-align: center"><img src="https://vietjack.com/csharp/images/noi-chuoi.PNG" alt="" class="fr-fic fr-dii fr-draggable " data-size="" style="" /></p> <p style="text-align: center"></p> <p style="text-align: right">Nguồn: vietjack.com</p></blockquote><p></p>
[QUOTE="uocmo_kchodoi, post: 177531, member: 165510"] [CENTER][B][COLOR=#ff0000]CHUỖI (STRING) TRONG C# [/COLOR][/B][/CENTER] String là một kiểu dữ liệu tham chiếu được dùng để lưu trữ chuỗi ký tự. Vì là một kiểu dữ liệu nên cách khai báo và sử dụng hoàn toàn tương tự các kiểu dữ liệu[URL='https://www.howkteam.vn/redirect?Id=Y%2fHKZv6fbvNJnzXtx4Ic0rZRqPOVzQSxG20E6RGIOYH2ztT5H01j3ihV01MA5mugoAL0u3PcjNdChSHRV0wc0BkVeflYwdzDfL2nyGBnSfGwDQ1dSv2WBaFRyZdAe8e6'] [/URL]khác. Tuy nhiên, string được dùng phổ biến hơn là để khai báo một biến chuỗi. Từ khóa string là một alias cho lớpSystem.String trong C#. [SIZE=5][B]1. Tạo một đối tượng String trong C#[/B] [B][/B][/SIZE] Bạn có thể tạo đối tượng String bởi sử dụng một trong các phương thức sau: [LIST] [*]Bằng việc gán một hằng chuỗi cho một biến String [*]Sử dụng một constructor của lớp String [*]Sử dụng toán tử nối chuỗi (+) [*]Bởi việc thu nhận một thuộc tính hoặc gọi một phương thức mà trả về một chuỗi [*]Bằng việc 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ó. [/LIST] [B]Ví dụ:[/B] [I][COLOR=#5900b3]using System; namespace VietJackCsharp { class TestCsharp { static void Main(string[] args) { Console.WriteLine("Cac cach tao chuoi trong C#"); Console.WriteLine("-------------------------------------"); //su dung phep gan hang chuoi va toan tu noi chuoi string fname, lname; fname = "Tran Minh"; lname = "Chinh"; string fullname = fname + " " + lname; Console.WriteLine("Ho va ten: {0}", fullname); //su dung constructor cua lop string char[] letters = { 'H', 'e', 'l', 'l', 'o' }; string greetings = new string(letters); Console.WriteLine("\nLoi chao bang tieng Anh: {0}", greetings); //tu cac phuong thuc ma tra ve mot chuoi string[] sarray = { "VietJack", "xin", "chao", "cac","ban" }; string message = String.Join(" ", sarray); Console.WriteLine("\nThong diep: {0}", message); //dinh dang phuong thuc de chuyen doi mot gia tri DateTime waiting = new DateTime(2016, 8, 1, 17, 58, 1); string chat = String.Format("Thong diep duoc gui luc {0:t} ngay {0:D}", waiting); Console.WriteLine("\nThong diep: {0}", chat); Console.ReadKey(); } } }[/COLOR][/I] Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn. Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau: [CENTER][IMG]https://vietjack.com/csharp/images/tao-chuoi.PNG[/IMG][/CENTER] [SIZE=5][B][/B] [COLOR=#0000ff][B]2. Các thuộc tính của lớp String trong C#[/B][/COLOR] [B][/B][/SIZE] Lớp String trong C# có hai thuộc tính: - Chars: Lấy đối tượng [I]Char[/I] tại một vị trí cụ thể trong đối tượng [I]String[/I] hiện tại - Length: Lấy số ký tự của đối tượng String hiện tại [SIZE=5][COLOR=#0000ff][B]3. Phương thức của lớp String trong C#[/B] [B][/B][/COLOR][/SIZE] Lớp String có một số phương thức mà hữu ích cho bạn trong khi làm việc với các đối tượng String trong C#. Bảng dưới đây liệt kê các phương thức được sử dụng phổ biến nhất: [COLOR=#00b300]1. public static int Compare(string strA, string strB)[/COLOR] So sánh hai đối tượng String cụ thể và trả về một integer mà chỉ vị trí có liên quan của chúng trong thứ tự sắp xếp [COLOR=#00b300]2. public static int Compare(string strA, string strB, bool ignoreCase )[/COLOR] So sánh hai đối tượng String cụ thể và trả về một integer mà chỉ vị trí có liên quan của chúng trong thứ tự sắp xếp. Tuy nhiên, nó bỏ qua sự phân biệt kiểu nếu tham số Boolean là true [COLOR=#00b300]3. public static string Concat(string str0, string str1)[/COLOR] Nối chuỗi hai đối tượng String [COLOR=#00b300]4. public static string Concat(string str0, string str1, string str2)[/COLOR] Nối chuỗi ba đối tượng String [COLOR=#00b300]5. public static string Concat(string str0, string str1, string str2, string str3)[/COLOR] Nối chuỗi bốn đối tượng String [COLOR=#00b300]6. public bool Contains(string value)[/COLOR] Trả về một giá trị chỉ dẫn có hay không đối tượng String đã cho xuất hiện bên trong chuỗi này [COLOR=#00b300]7. public static string Copy(string str)[/COLOR] Tạo một đối tượng String mới với cùng giá trị như chuỗi đã cho [COLOR=#00b300]8. public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count)[/COLOR] Sao chép một số ký tự cụ thể từ một vị trí đã cho của đối tượng String tới một vị trí đã xác định trong một mảng các ký tự Unicode [COLOR=#00b300]9. public bool EndsWith(string value)[/COLOR] Xác định có hay không phần kết thúc của đối tượng String là so khớp với chuỗi đã cho [COLOR=#00b300]10. public bool Equals(string value)[/COLOR] Xác định có hay không đối tượng String hiện tại và đối tượng String đã cho là có cùng giá trị [COLOR=#00b300]11. public static bool Equals(string a, string b)[/COLOR] Xác định có hay không hai đối tượng String đã cho có cùng giá trị [COLOR=#00b300]12. public static string Format(string format, Object arg0)[/COLOR] Thay thế một hoặc nhiều mục định dạng trong một chuỗi đã cho với biểu diễn chuỗi của một đối tượng cụ thể [COLOR=#00b300]13. public int IndexOf(char value)[/COLOR] Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của ký tự Unicode đã cho trong chuỗi hiện tại [COLOR=#00b300]14. public int IndexOf(string value)[/COLOR] Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của chuỗi đã cho trong Instance (sự thể hiện) này [COLOR=#00b300]15. public int IndexOf(char value, int startIndex)[/COLOR] Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của ký tự Unicode đã cho trong chuỗi này, bắt đầu tìm kiếm tại vị trí của ký tự đã cho [COLOR=#00b300]16. public int IndexOf(string value, int startIndex)[/COLOR] Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của chuỗi đã cho trong Instance (sự thể hiện) này, bắt đầu tìm kiếm tại vị trí của ký tự đã cho [COLOR=#00b300]17. public int IndexOfAny(char[] anyOf)[/COLOR] Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của Instance (sự thể hiện) này của bất kỳ ký tự nào trong một mảng ký tự Unicode đã xác định [COLOR=#00b300]18. public int IndexOfAny(char[] anyOf, int startIndex)[/COLOR] Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của Instance (sự thể hiện) này của bất kỳ ký tự nào trong một mảng ký tự Unicode đã xác định, bắt đầu tìm kiếm tại vị trí của ký tự đã cho [COLOR=#00b300]19. public string Insert(int startIndex, string value)[/COLOR] Trả về một chuỗi mới trong đó một chuỗi đã cho được chèn tại một vị trí có chỉ mục đã xác định trong đối tượng String hiện tại [COLOR=#00b300]20. public static bool IsNullOrEmpty(string value)[/COLOR] Chỉ rằng có hay không chuỗi đã cho là null hoặc là một chuỗi Empty [COLOR=#00b300]21. public static string Join(string separator, params string[] value)[/COLOR] Nối chuỗi tất cả phần tử của một mảng chuỗi, bởi sử dụng Separator (bộ tách) đã cho giữa mỗi phần tử [COLOR=#00b300]22. public static string Join(string separator, string[] value, int startIndex, int count)[/COLOR] Nối chuỗi các phần tử đã xác định của một mảng chuỗi, bởi sử dụng Separator (bộ tách) đã cho giữa mỗi phần tử [COLOR=#00b300]23. public int LastIndexOf(char value)[/COLOR] Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện cuối cùng của ký tự Unicode đã cho bên trong đối tượng String hiện tại [COLOR=#00b300]24. public int LastIndexOf(string value)[/COLOR] Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện cuối cùng của một chuỗi đã cho bên trong đối tượng String hiện tại [COLOR=#00b300]25. public string Remove(int startIndex)[/COLOR] Gỡ bỏ tất cả ký tự trong Instance hiện tại, bắt đầu tại vị trí đã xác định và tiếp tục tới vị trí cuối cùng, và trả về chuỗi đó [COLOR=#00b300]26. public string Remove(int startIndex, int count)[/COLOR] Gỡ bỏ số ký tự đã cho trong chuỗi hiện tại bắt đầu tại một vị trí đã xác định và trả về chuỗi đó [COLOR=#00b300]27. public string Replace(char oldChar, char newChar)[/COLOR] Thay thế tất cả ký tự Unicode đã cho xuất hiện trong đối tượng String hiện tại với ký tự Unicode đã xác định và trả về chuỗi mới [COLOR=#00b300]28. public string Replace(string oldValue, string newValue)[/COLOR] Thay thế tất cả chuỗi đã cho xuất hiện trong đối tượng String hiện tại với đối tượng string đã xác định và trả về chuỗi mới [COLOR=#00b300]29. public string[] Split(params char[] separator)[/COLOR] Trả về một mảng chuỗi mà chứa các chuỗi phụ trong đối tượng String hiện tại, được giới hạn bởi các phần tử của một mảng ký tự Unicode đã cho [COLOR=#00b300]30. public string[] Split(char[] separator, int count)[/COLOR] Trả về một mảng chuỗi mà chứa các chuỗi phụ trong đối tượng String hiện tại, được giới hạn bởi các phần tử của một mảng ký tự Unicode đã cho. Tham số int xác định số chuỗi phụ tối đa để trả về [COLOR=#00b300]31. public bool StartsWith(string value)[/COLOR] Xác định có hay không phần bắt đầu của instance của chuỗi này so khớp với chuỗi đã cho [COLOR=#00b300]32. public char[] ToCharArray()[/COLOR] Trả về một mảng ký tự Unicode với tất cả ký tự trong đối tượng String hiện tại [COLOR=#00b300]33. public char[] ToCharArray(int startIndex, int length)[/COLOR] Trả về một mảng ký tự Unicode với tất cả ký tự trong đối tượng String hiện tại, bắt đầu từ chỉ mục đã xác định và tới độ dài đã cho [COLOR=#00b300]34. public string ToLower()[/COLOR] Trả về một bản sao của chuỗi này đã được biến đổi thành chữ thường [COLOR=#00b300]35. public string ToUpper()[/COLOR] Trả về một bản sao của chuỗi này đã được biến đổi thành chữ hoa [COLOR=#00b300]36. public string Trim()[/COLOR] Gỡ bỏ tất cả ký tự whitespace từ đối tượng String hiện tại Bạn có thể vào thư viện MSDN để lấy danh sách đầy đủ các phương thức và constructor của lớp String. [SIZE=5][B]Ví dụ[/B] [B][/B][/SIZE] Ví dụ sau minh họa một số phương thức trên: [B][I]So sánh chuỗi trong C#:[/I][/B] [I][COLOR=#5900b3]using System; namespace VietJackCsharp { class TestCsharp { static void Main(string[] args) { Console.WriteLine("So sanh chuoi trong C#"); Console.WriteLine("-------------------------------------"); string str1 = "So sanh chuoi trong C#"; string str2 = "So sanh chuoi trong Csharp"; if (String.Compare(str1, str2) == 0) { Console.WriteLine(str1 + " va " + str2 + " la giong nhau."); } else { Console.WriteLine(str1 + " va " + str2 + " la khong giong nhau."); } Console.ReadKey(); } } }[/COLOR][/I] Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn. Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau: [IMG]https://vietjack.com/csharp/images/so-sanh-chuoi.PNG[/IMG] [B][I]Kiểm tra chuỗi con trong C#:[/I][/B] [I][COLOR=#5900b3]using System; namespace VietJackCsharp { class TestCsharp { static void Main(string[] args) { Console.WriteLine("Kiem tra chuoi con trong C#"); Console.WriteLine("-------------------------------------"); string str = "Chuoi con trong C#"; if (str.Contains("trong")) { Console.WriteLine("Tim thay chuoi con 'trong'."); } Console.ReadKey(); } } }[/COLOR][/I] Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn. Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau: [CENTER][IMG]https://vietjack.com/csharp/images/chuoi-con.PNG[/IMG][/CENTER] [B][I]Lấy chuỗi con trong C#:[/I][/B] [I][COLOR=#5900b3]using System; namespace VietJackCsharp { class TestCsharp { static void Main(string[] args) { Console.WriteLine("Lay chuoi con trong C#"); Console.WriteLine("-------------------------------------"); string str = "Lay chuoi con trong C#"; Console.WriteLine("Chuoi ban dau: " +str); string substr = str.Substring(10); Console.WriteLine("Chuoi con: " +substr); Console.ReadKey(); } } }[/COLOR][/I] Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn. Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau: [CENTER][IMG]https://vietjack.com/csharp/images/lay-chuoi-con.PNG[/IMG][/CENTER] [B][I]Nối chuỗi trong C#:[/I][/B] [I][COLOR=#5900b3]using System; namespace VietJackCsharp { class TestCsharp { static void Main(string[] args) { Console.WriteLine("Noi chuoi trong C#"); Console.WriteLine("-------------------------------------"); string[] starray = new string[]{"Hoc C# co ban va nang cao tai VietJack.", "Chuong nay trinh bay ve chuoi trong C#.", "Chung ta dang tim hieu ve noi chuoi trong C#.", "VietJack chuc cac ban hoc tot.", "Xin tran trong cam on!"}; string str = String.Join("\n", starray); Console.WriteLine(str); Console.ReadKey(); } } }[/COLOR][/I] Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn. Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau: [CENTER][IMG]https://vietjack.com/csharp/images/noi-chuoi.PNG[/IMG] [/CENTER] [RIGHT]Nguồn: vietjack.com[/RIGHT] [/QUOTE]
Tên
Mã xác nhận
Gửi trả lời
CÔNG NGHỆ
Công Nghệ Thông Tin
Code
Tìm hiểu về chuỗi String trong C#
Top