Khai bịo vộ sỏ dông

Một phần của tài liệu Đề cương bài giảng cơ sở kỹ thuật lập trình ngôn ngữ c (Trang 101 - 105)

Cách khai báo chuỗi: để khai báo chuỗi theo kiểu này ta thực hiện như sau: string Tênchuỗi;

Vắ dụ:

string hoTen, queQuan; string s;

Như chúng ta ựã biết chuỗi là một kiểu dữ liệu tham chiếu, một chuỗi chẳng qua là một ựối tượng thuộc lớp System.String. Với khai báo trên ta mới chỉ thu ựược tên của ựối tượng chuỗi ựặt trong stack còn nội dung cấp phát cho nó thì chưa có. để tạo nội dung cho chuỗi ta thực hiện theo cách như sau:

Tạo nội dung cho chuỗi

string hoTen= ỘLe Nhat MinhỢ; string donViCongTac;

Ta thấy rằng khi khai báo hai chuỗi hoTen và donViCongTac thì biến xâu ựược cấp phát trong Stack, còn nội dung thực sự của chuỗi ựược cấp phát trong Heap. Trong vắ dụ trên thì ngay từ ựầu xâu hoTen ựựơc cấp vùng nhớ với nội dung là ỘNguyen Huu DongỢ trong Heap, còn xâu donViCongTac thì chỉ có biến xâu trong Stack và phần nội dung thì chưa có.

Giả sử sau ựó ta gán cho xâu donViCongTac một xâu là ỢNha treỢ. Stack

Heap hoTen

donViCongTac

donViCongTac=ỢNha treỢ

Sau khi gán cho xâu donViCongTac xâu ỘNha treỢ lúc ựó ta có

Như vậy ta thấy rằng chuỗi là một kiểu dữ liệu tham chiếu với biến chuỗi thì ựặt trong Stack và nội dung thực sự của chuỗi thì ựặt trong Heap.

Chuỗi có thể chứa các ký tự ựặc biệt: \t , \n, \b ,.... Vắ dụ:

string diaChi= ỘLe Nhat Minh\nNha TreỢ Khi hiển thị ta ựược nội dung sau:

Le Nhat Minh Nha Tre

Chuỗi cũng có thể ựược tạo bằng cách sử dụng chuỗi cố ựịnh hay nguyên văn (verbatim), tức là các ký tự trong chuỗi ựược giữ nguyên không thay ựổị Chuỗi này ựược bắt ựầu với biểu tượng @. Biểu tượng này bảo với hàm khởi dựng của lớp String rằng chuỗi theo sau là nguyên văn, thậm chắ nó chứa nhiều dòng hoặc bao gồm những ký tự escapẹ...

Vắ dụ:

Nếu ta thực hiện câu lệnh gán sau sẽ bị lỗi: string diaChi=ỢLe Nhat Minh

Nha TreỢ;

Khi ựó ta có thể sử dụng chuỗi nguyên văn như sau: string diaChi=@ỢLe Nhat Minh

Nha TreỢ;

Khi hiển thị ta thu ựược nội dung sau: Le Nhat Minh

Nha Tre

Cách truy nhập vào các phần tử của xâu Stack Heap hoTen donViCongTac L e N h a T M i n h N h a t r e

Stack Heap hoTen1 Lo Lao Lo Mang A Dong hoTen2 Stack Heap hoTen1 Lo Lao Lo Mang A Dong hoTen2

để truy nhập vào các phần tử của xâu, chúng ta thực hiện theo nguyên tắc: TênXau[chỉ số] với chỉ số ∈ [0..TênXaụLength-1]

Thao tác trên chuỗi

Lấy tổng chuỗi: Tổng của hai hay nhiều chuỗi kết quả cho ta là một chuỗị

string firstName= ỘMinhỢ; string lastName=ỢLe NhatỢ;

string fullName= lastName + Ộ Ộ +firstName;

Khi ựó chuỗi fullName có nội dung là: Le Nhat Minh Gán chuỗi

string hoTen1=ỢLo lao LoỢ; string hoTen2=ỢMang A DongỢ;

Nếu ta thực hiện:

hoTen1=hoTen2; Lúc này ta có:

Ta thấy rằng sau khi gán xâu hoTen2 cho xâu hoTen1 thì hai xâu hoTen1 và hoTen2 ựều trỏ vào cùng một vùng nhớ. Tức là hai xâu hoTen1 và hoTen2 là có vai trò như nhaụ

Chúng ta không lên so sánh trực tiếp hai xâu với nhau, hay gán trực tiếp hai xâu cho nhaụv.v... mà ta sẽ sử dụng các hàm trong lớp lớp string. Lớp string cung cấp rất nhiều các hàm ựể so sánh, tìm kiếm và thao tác trên xâu, các hàm này ựược trình bày trong bảng sau:

System.String

Empty() Trường public static thể hiện một chuỗi rỗng. Compare() Phương thức public static ựể so sánh hai chuỗị CompareOrdin

al()

Phương thức public static ựể so sánh hai chuỗi không quan tâm ựến thứ tự

Concat() Phương thức public static ựể tạo chuỗi mới từ một hay nhiều chuỗi Copy() Phương thức public static tạo ra một chuỗi mới bằng sao từ chuỗi

khác.

Equal() Phương thức public static kiểm tra xem hai chuỗi có cùng giá trị hay không.

Format() Phương thức public static ựịnh dạng một chuỗi dùng ký tự lệnh ựịnh dạng xác ựịnh.

Intern() Phương thức public static trả về tham chiếu ựến thể hiện của chuỗị IsInterned() Phương thức public static trả về tham chiếu của chuỗi

Join() Phương thức public static kết nối các chuỗi xác ựịnh giữa mỗi thành phần của mảng chuỗị

Chars() Indexer của chuỗị Length() Chiều dài của chuỗị Clone() Trả về chuỗị

CompareTo() So sánh hai chuỗị

CopyTo() Sao chép một số các ký tự xác ựịnh ựến một mảng ký tự Unicodẹ EndsWidth() Chỉ ra vị trắ của chuỗi xác ựịnh phù hợp với chuỗi ựưa rạ

Insert() Trả về chuỗi mới ựã ựược chèn một chuỗi xác ựịnh.

LastIndexOf() Chỉ ra vị trắ xuất hiện cuối cùng của một chuỗi xác ựịnh trong chuỗị PadLeft() Canh lề phải những ký tự trong chuỗi, chèn vào bên trái khoảng

trắng hay các ký tự xác ựịnh.

PadRight() Canh lề trái những ký tự trong chuỗi, chèn vào bên phải khoảng trắng hay các ký tự xác ựịnh.

Remove() Xóa ựi một số ký tự xác ựịnh.

Split() Trả về chuỗi ựược phân ựịnh bởi những ký tự xác ựịnh trong chuỗị StartWidth() Xem chuỗi có bắt ựầu bằng một số ký tự xác ựịnh hay không. SubString() Lấy một chuỗi con.

ToCharArray() Sao chép những ký tự từ một chuỗi ựến mảng ký tự. ToLower() Trả về bản sao của chuỗi ở kiểu chữ thường.

ToUpper() Trả về bản sao của chuỗi ở kiểu chữ hoạ

Trim() Xóa bỏ tất cả sự xuất hiện của tập hợp ký tự trống ở ựầu và cuối xâu TrimEnd() Xóa như Trim nhưng ở vị trắ cuốị

TrimStart() Xóa như Trim nhưng ở vị trắ ựầụ

Một phần của tài liệu Đề cương bài giảng cơ sở kỹ thuật lập trình ngôn ngữ c (Trang 101 - 105)

Tải bản đầy đủ (PDF)

(135 trang)