Chuỗi trong C#
1. Tạo một chuỗi
Cách phổ biến nhất để tạo ra một chuỗi là gán cho một chuỗi trích dẫn tức là chuỗi nằm
trong dấu ngoặc kép, kiểu chuỗi này cũng được biết như là một chuỗi hằng, khai báo như sau:
string sChuoi = “Day la chuoi hang”;
2. Tạo chuỗi dùng phương thức ToString của đối tượng
int myInt = “9”; string intString = myInt.ToString();
3. Thao tác trên chuỗi
Phương thức | Mục đích |
---|---|
Compare | So sánh nội dung của 2 chuỗi. |
CompareOrdinal | Giống compare nhưng không kể đến ngôn ngữ bản địa hoặc văn hoá (as compare but doesn't take culture into account). |
Format | Định dạng một chuỗi chứa 1 giá trị khác và chỉ định cách mỗi giá trị nên được định dạng. |
IndexOf | Vị trí xuất hiện đầu tiên của 1 chuỗi con hoặc kí tự trong chuỗi. |
IndexOfAny | Vị trí xuất hiện đầu tiên của bất kì 1 hoặc 1 tập kí tự trong chuỗi. |
LastIndexOf | Giống indexof , nhưng tìm lần xuất hiện cuối cùng. |
LastIndexOfAny | Giống indexofAny , nhưng tìm lần xuất hiện cuối cùng. |
PadLeft | Canh phải chuỗi, điền chuỗi bằng cách thêm 1 kí tự được chỉ định lặp lại vào đầu chuỗi. |
PadRigth | Canh trái chuỗi, điền chuỗi bằng cách thêm 1 kí tự được chỉ định lặp lại vào cuối chuỗi. |
Replace | Thay thế kí tự hay chuỗi con trong chuỗi với 1 kí tự hoặc chuỗi con khác. |
Split | Chia chuỗi thành 2 mảng chuỗi con ,ngắt bởi sự xuất hiện của một kí tự nào đó. |
Substring | Trả về chuỗi con bắt đầu ở một vị trí chỉ định trong chuỗi. |
ToLower | Chuyển chuỗi thành chữ thuờng. |
ToUpper | Chuyển chuỗi thành chữ in. |
Trim | Bỏ khoảng trắng ở đầu và cuối chuỗi. |
Ví dụ:
Ví dụ 1: Khai báo và sử dụng chuỗi căn bản.
class StringExample { public static int Main() { string s1 = "a string"; string s2 = s1; Console.WriteLine("s1 is " + s1); Console.WriteLine("s2 is " + s2); s1 = "another string"; Console.WriteLine("s1 is now " + s1); Console.WriteLine("s2 is now " + s2); return 0; } }
Ví dụ 2: Viết chương trình thực hiện
- Nhập vào tạo độ 3 điểm A,B,C trong không gian.
- Tính độ dài 3 đoạn thẳng AB,AC,BC.
- Kiểm tra xem A,B,C có thẳng hàng không?
namespace VD2_3diemKG { public struct ToaDo { private int x, y, z; public ToaDo(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } public int X { get { return x; } set { x = value; } } public int Y { get { return y; } set { y = value; } } public int Z { get { return z; } set { z = value; } } } class Program { static void Main(string[] args) { // Khai bao bien ToaDo ToaDo A, B, C; double d1; // AB double d2; // AC double d3; // BC // Nhap toa do 3 diem Console.WriteLine("\n Nhap toa do 3 diem: "); A = new ToaDo(1, 2, 3); B = new ToaDo(1, 4, 5); C = new ToaDo(1, 5, 7); d1 = Math.Sqrt((A.X - B.X) * (A.X - B.X) + (A.Y - B.Y) * (A.Y - B.Y) + (A.Z - B.Z) * (A.Z - B.Z)); d2 = Math.Sqrt((A.X - C.X) * (A.X - C.X) + (A.Y - C.Y) * (A.Y - C.Y) + (A.Z - C.Z) * (A.Z - C.Z)); d3 = Math.Sqrt((C.X - B.X) * (C.X - B.X) + (C.Y - B.Y) * (C.Y - B.Y) + (C.Z - B.Z) * (C.Z - B.Z)); // In do dai 3 doan thang Console.WriteLine("\n Do dai 3 doan thang: \n"); Console.WriteLine("\n AB : " + d1); Console.WriteLine("\n AC : " + d2); Console.WriteLine("\n BC : " + d3); // Kiem tra tinh thang hang if (d1 + d2 == d3 || d1 + d3 == d2 || d2 + d3 == d1) Console.WriteLine("\n 3 diem A,B,C thang hang"); else Console.WriteLine("\n 3 diem A,B,C khong thang hang"); Console.ReadLine(); } } }
Ví dụ 3: Viết các hàm thực hiện
- Nhập thông tin SV gồm: họ tên, địa chỉ, tuổi, điểm toán, lý, hóa
- Tính điểm tổng kết
- In thông tin sinh viên
namespace VD3_QLSinhVien { struct SV{ string ht,dc; int tuoi; float dT,dL,dH; public SV(string ht, string dc, int tuoi, float dt, float dl, float dh) { this.ht = ht; this.dc = dc; this.tuoi = tuoi; this.dT = dt; this.dL = dl; this.dH = dh; } public string HT { get { return ht; } set { ht = value; } } public string DC { get { return dc; } set { dc = value; } } public int TUOI { get { return tuoi; } set { tuoi = value; } } public float DT { get { return dT; } set { dT = value; } } public float DL { get { return dL; } set { dL = value; } } public float DH { get { return dH; } set { dH = value; } } public float TinhDiem() { return (dT+dL+dH)/3; } public void XEPLOAI() { string xeploai; float dtk = TinhDiem(); // Xep loai sinh vien if (dtk < 5) xeploai = "Truot"; else if (dtk < 6) xeploai = "Trung Binh"; else if (dtk < 7) xeploai = "TB Kha"; else if (dtk < 8) xeploai = "Kha"; else if (dtk < 9) xeploai = "Gioi"; else if (dtk < 10) xeploai = "Xuat Sac"; else xeploai = ""; // in thong tin sinh vien Console.Write("\n Thong tin sinh vien: "); Console.Write("\n - Ho ten: " + ht); Console.Write("\n - Dia chi: " +dc); Console.Write("\n - Tuoi: " +tuoi); Console.Write("\n - Diem tong ket: " + dtk); Console.Write("\n - Xep loai: " + xeploai); } } class Program { static void Main(string[] args) { SV sv1 = new SV("Nguyen Minh Hien", "Ha Noi", 20, 9, 9, 9); sv1.XEPLOAI(); Console.ReadLine(); } } }