Hướng Dẫn Và Ví Dụ C# String Và StringBuilder - Openplanning
Có thể bạn quan tâm
- Tất cả tài liệu
- Java
- Java Basic
- Java Collections Framework
- Java IO
- Java New IO
- Java Date Time
- Servlet/JSP
- Eclipse Tech
- SWT
- RCP
- RAP
- Eclipse Plugin Tools
- XML & HTML
- Java Opensource
- Java Application Servers
- Maven
- Gradle
- Servlet/Jsp
- Thymeleaf
- Spring
- Spring Boot
- Spring Cloud
- Struts2
- Hibernate
- Java Web Service
- JavaFX
- SWT
- Oracle ADF
- Android
- iOS
- Python
- Swift
- C#
- C/C++
- Ruby
- Dart
- Batch
- Database
- Oracle
- MySQL
- SQL Server
- PostGres
- Other Database
- Oracle APEX
- Report
- Client
- ECMAScript / Javascript
- TypeScript
- NodeJS
- ReactJS
- Flutter
- AngularJS
- HTML
- CSS
- Bootstrap
- OS
- Ubuntu
- Solaris
- Mac OS
- VPS
- Git
- SAP
- Amazon AWS
- Khác
- Chưa phân loại
- Phần mềm & ứng dụng tiện ích
- VirtualBox
- VmWare
- Sơ đồ thừa kế
- Khái niệm mutable & immutable
- String và string
- String
- StringBuilder
1. Sơ đồ thừa kế
Khi làm việc với các dữ liệu văn bản, CSharp cung cấp cho bạn 2 class Stringvà StringBuilder. Nếu làm việc với các dữ liệu lớn bạn nên sử dụng StringBuilder để đạt hiệu năng nhanh nhất. Về cơ bản 2 class này có nhiều điểm giống nhau. - String là bất biến (immutable), khái niệm này sẽ được nói chi tiết ở trong tài liệu, và không cho phép có class con.
- StringBuilder có thể thay đổi (mutable)
2. Khái niệm mutable & immutable
Hãy xem một ví dụ minh họa:MutableClassExample.csnamespace StringTutorial { // Đây là một lớp có 1 trường: 'Value'. // Nếu bạn có một đối tượng của lớp này // Bạn có thể gán giá trị mới cho trường 'Value' // thông qua phương thức SetNewValue(int). // Như vậy đây là một lớp có thể thay đổi (mutable). class MutableClassExample { private int Value; public MutableClassExample(int value) { this.Value = value; } public void SetNewValue(int newValue) { this.Value = newValue; } } }ImmutableClassExample.csusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace StringTutorial { // Đây là một lớp có 2 trường (field): 'Value' & 'Name'. // Nếu bạn có một đối tượng của lớp này // bạn không thể gán giá trị mới cho 'Value','Name' từ bên ngoài, // Điều đó có nghĩa là lớp này là bất biến (immutable) class ImmutableClassExample { private int Value; private String Name; public ImmutableClassExample(String name, int value) { this.Value = value; this.Name = name; } public String GetName() { return Name; } public int GetValue() { return Value; } } }String là một class bất biến (immutable), String có nhiều thuộc tính (trường), ví dụ Length,... nhưng các giá trị đó là không thể thay đổi.3. String và string
Trong C# đôi khi bạn thấy String và string được sử dụng song song. Thực tế chúng không có khác biệt gì, string có thể coi là một bí danh (alias) cho System.String (Tên đầy đủ bao gồm cả namespace của class String). Bảng dưới đây mô tả danh sách đầy đủ các bí danh cho các class thông dụng.| Bí danh | Class |
| object | System.Object |
| string | System.String |
| bool | System.Boolean |
| byte | System.Byte |
| sbyte | System.SByte |
| short | System.Int16 |
| ushort | System.UInt16 |
| int | System.Int32 |
| uint | System.UInt32 |
| long | System.Int64 |
| ulong | System.UInt64 |
| float | System.Single |
| double | System.Double |
| decimal | System.Decimal |
| char | System.Char |
4. String
String là một class rất quan trọng trong CSharp, và bất kỳ ai bắt đầu với CSharp đều đã sử dụng câu lệnh Console.WriteLine() để in ra một String lên màn hình Console. Nhiều người thường không hề có ý niệm rằng String là không thể thay đổi (immutable) và là sealed (Bị niêm phong, không cho phép có class con), tất cả các thay đổi trên String đều tạo ra một đối tượng String khác.** String **[SerializableAttribute] [ComVisibleAttribute(true)] public sealed class String : IComparable, ICloneable, IConvertible, IEnumerable, IComparable<string>, IEnumerable<char>, IEquatable<string>Các phương thức của StringBạn có thể tra cứu các phương thức của String tại:- https://msdn.microsoft.com/en-us/library/system.string%28v=vs.110%29.aspx
5. StringBuilder
Trong C# mỗi khi bạn sửa đổi một String kết quả đều tạo ra một đối tượng String mới. Trong khi đó StringBuilder chứa trong nó một mảng các ký tự, mảng này sẽ tự động thay thế bởi một mảng lớn hơn nếu thấy cần thiết, và copy các ký tự ở mảng cũ sang. Nếu bạn phải thao tác ghép chuỗi nhiều lần thì bạn nên sử dụng StringBuilder, nó giúp làm tăng hiệu năng của chương trình. Tuy nhiên nếu chỉ ghép nối một vài chuỗi thì điều đó không cần thiết, bạn không nên lạm dụng StringBuilder trong trường hợp đó.
StringBuilderDemo.csusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace StringTutorial { class StringBuilderDemo { public static void Main(string[] args) { // Tạo một đối tượng StringBuilder // với sức chứa (capacity) là 10 ký tự. StringBuilder sb = new StringBuilder(10); // Nối thêm một chuỗi con. sb.Append("Hello..."); Console.WriteLine("- sb after appends a string: " + sb); // Nối thêm một ký tự. char c = '!'; sb.Append(c); Console.WriteLine("- sb after appending a char: " + sb); // Trèn một String vào tại chỉ số 5. sb.Insert(8, " CSharp"); Console.WriteLine("- sb after insert string: " + sb); // Xóa một chuỗi con bắt đầu tại chỉ số 5, với 3 ký tự. sb.Remove(5, 3); Console.WriteLine("- sb after remove: " + sb); // Lấy ra string trong StringBuilder. String s = sb.ToString(); Console.WriteLine("- String of sb: " + s); Console.Read(); } } }Kết quả chạy ví dụ:- sb after appends a string: Hello... - sb after appending a char: Hello...! - sb after insert string: Hello... CSharp! - sb after remove: Hello CSharp! - String of sb: Hello CSharp!Các hướng dẫn lập trình C#
- Thừa kế và đa hình trong C#
- Bắt đầu với C# cần những gì?
- Học nhanh C# cho người mới bắt đầu
- Cài đặt Visual Studio 2013 trên Windows
- Abstract class và Interface trong C#
- Cài đặt Visual Studio 2015 trên Windows
- Nén và giải nén trong C#
- Hướng dẫn lập trình đa luồng trong C#
- Hướng dẫn và ví dụ C# Delegate và Event
- Cài đặt AnkhSVN trên Windows
- Lập trình C# theo nhóm sử dụng Visual Studio và SVN
- Cài đặt .Net Framework
- Access Modifier trong C#
- Hướng dẫn và ví dụ C# String và StringBuilder
- Hướng dẫn và ví dụ C# Property
- Hướng dẫn và ví dụ C# Enum
- Hướng dẫn và ví dụ C# Structure
- Hướng dẫn và ví dụ C# Generics
- Hướng dẫn xử lý ngoại lệ trong C#
- Hướng dẫn và ví dụ Date Time trong C#
- Thao tác với tập tin và thư mục trong C#
- Hướng dẫn sử dụng Stream - luồng vào ra nhị phân trong C#
- Hướng dẫn sử dụng biểu thức chính quy trong C#
- Kết nối cơ sở dữ liệu SQL Server trong C#
- Làm việc với cơ sở dữ liệu SQL Server trong C#
- Kết nối cơ sở dữ liệu MySQL trong C#
- Làm việc với cơ sở dữ liệu MySQL trong C#
- Kết nối cơ sở dữ liệu Oracle trong C# không cần Oracle Client
- Làm việc với cơ sở dữ liệu Oracle trong C#

Các hướng dẫn lập trình C#
- Thừa kế và đa hình trong C#
- Bắt đầu với C# cần những gì?
- Học nhanh C# cho người mới bắt đầu
- Cài đặt Visual Studio 2013 trên Windows
- Abstract class và Interface trong C#
- Cài đặt Visual Studio 2015 trên Windows
- Nén và giải nén trong C#
- Hướng dẫn lập trình đa luồng trong C#
- Hướng dẫn và ví dụ C# Delegate và Event
- Cài đặt AnkhSVN trên Windows
- Lập trình C# theo nhóm sử dụng Visual Studio và SVN
- Cài đặt .Net Framework
- Access Modifier trong C#
- Hướng dẫn và ví dụ C# String và StringBuilder
- Hướng dẫn và ví dụ C# Property
- Hướng dẫn và ví dụ C# Enum
- Hướng dẫn và ví dụ C# Structure
- Hướng dẫn và ví dụ C# Generics
- Hướng dẫn xử lý ngoại lệ trong C#
- Hướng dẫn và ví dụ Date Time trong C#
- Thao tác với tập tin và thư mục trong C#
- Hướng dẫn sử dụng Stream - luồng vào ra nhị phân trong C#
- Hướng dẫn sử dụng biểu thức chính quy trong C#
- Kết nối cơ sở dữ liệu SQL Server trong C#
- Làm việc với cơ sở dữ liệu SQL Server trong C#
- Kết nối cơ sở dữ liệu MySQL trong C#
- Làm việc với cơ sở dữ liệu MySQL trong C#
- Kết nối cơ sở dữ liệu Oracle trong C# không cần Oracle Client
- Làm việc với cơ sở dữ liệu Oracle trong C#
Các bài viết mới nhất
- Dart Stream Single và Broadcast
- Xử lý lỗi trong Dart Stream
- Hướng dẫn và ví dụ Dart Stream
- So sánh đối tượng trong Dart với thư viện Equatable
- Flutter BloC cho người mới bắt đầu
- Xử lý lỗi 404 trong Flutter GetX
- Ví dụ đăng nhập và đăng xuất với Flutter Getx
- Hướng dẫn và ví dụ Flutter NumberTextInputFormatter
- Hướng dẫn và ví dụ Flutter multi_dropdown
- Hướng dẫn và ví dụ Flutter flutter_form_builder
- Hướng dẫn và ví dụ Flutter GetX obs Obx
- Hướng dẫn và ví dụ Flutter GetX GetBuilder
- Từ khoá part và part of trong Dart
- Hướng dẫn và ví dụ Flutter InkWell
- Hướng dẫn và ví dụ Flutter Radio
- Bài thực hành Flutter SharedPreferences
- Hướng dẫn và ví dụ Flutter Slider
- Hướng dẫn và ví dụ Flutter SkeletonLoader
- Chỉ định cổng cố định cho Flutter Web trên Android Studio
- Tạo Module trong Flutter
- Các hướng dẫn lập trình C#
Từ khóa » Hàm Indexof Trong C#
-
Indexof() Lấy Chỉ Số Từ Một String - Cộng đồng C Việt
-
String.IndexOf Method (System) - Microsoft Docs
-
Chuỗi (String) Trong C# - Học Lập Trình C# Online - VietTuts
-
Tổng Hợp Các Hàm Xử Lý Chuỗi Trong Lập Trình C# » Chia Sẻ để Vui Vẻ
-
C# | String.IndexOf( ) Method | Set - 1 - GeeksforGeeks
-
Lớp String Trong Lập Trình C# Căn Bản | How Kteam
-
Hàm IndexOf() Trong JavaScript | Học Lập Trình JavaScript
-
Chuỗi (String) Trong C#
-
Hàm dexOf() Trong Javascript - Freetuts
-
Phương Thức IndexOf() Trong Java String - Freetuts
-
What Is String.IndexOf() In C#?
-
C# - Is There A Function Equivalent To "String.IndexOf(String[])"?
-
C# IndexOf - Linux Hint
-
Working Of C# String IndexOf() With Examples - EduCBA