1. Trang chủ
  2. » Thể loại khác

Cấu trúc (Struct) trong C | 85 bài học lập trình C hay nhất PDF

6 164 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 319,99 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Từ khóa struct trong C# được sử dụng để tạo một cấu trúc structure.. Các cấu trúc được sử dụng để biểu diễn một bản ghi record.. Bạn có thể muốn theo dõi các thuộc tính sau của mỗi cuốn

Trang 1

Cấu trúc (Structure) trong C#

Trong C#, một cấu trúc (structure) là một kiểu dữ liệu Nó giúp bạn tạo một biến đơn mà giữ dữ liệu

liên quan của các kiểu dữ liệu đa dạng Từ khóa struct trong C# được sử dụng để tạo một cấu trúc

(structure)

Các cấu trúc được sử dụng để biểu diễn một bản ghi (record) Giả sử bạn muốn theo dõi các cuốn sách trong một thư viện Bạn có thể muốn theo dõi các thuộc tính sau của mỗi cuốn sách:

 Title

 Author

 Subject

 Book ID

Định nghĩa cấu trúc trong C#

Để định nghĩa cấu trúc, bạn phải sử dụng lệnh struct Câu lệnh struct định nghĩa một kiểu dữ liệu

mới, với hơn một thành viên trong chương trình của bạn

Ví dụ dưới đây là cách bạn khai báo cấu trúc Book:

struct Books

{

public string title ;

public string author ;

public string subject ;

public int book_id ;

};

Chương trình sau minh họa cách sử dụng cấu trúc trên trong C#:

using System ;

struct Books

{

public string title ;

public string author ;

public string subject ;

Trang 2

public int book_id ;

};

public class testStructure

{

public static void Main (string[] args )

{

Books Book1 ; /* Declare Book1 of type Book */

Books Book2 ; /* Declare Book2 of type Book */

/* book 1 specification */

Book1 title = "C Programming" ;

Book1 author = "Nuha Ali" ;

Book1 subject = "C Programming Tutorial" ;

Book1 book_id = 6495407 ;

/* book 2 specification */

Book2 title = "Telecom Billing" ;

Book2 author = "Zara Ali" ;

Book2 subject = "Telecom Billing Tutorial" ;

Book2 book_id = 6495700 ;

/* print Book1 info */

Console WriteLine ( "Book 1 title : {0}" , Book1 title );

Console WriteLine ( "Book 1 author : {0}" , Book1 author );

Console WriteLine ( "Book 1 subject : {0}" , Book1 subject );

Console WriteLine ( "Book 1 book_id :{0}" , Book1 book_id );

/* print Book2 info */

Console WriteLine ( "Book 2 title : {0}" , Book2 title );

Console WriteLine ( "Book 2 author : {0}" , Book2 author );

Trang 3

Console WriteLine ( "Book 2 book_id : {0}" , Book2 book_id );

Console ReadKey ();

}

}

Khi code trên được biên dịch và thực thi, nó sẽ cho kết quả:

Book 1 title : C Programming

Book 1 author : Nuha Ali

Book 1 subject : C Programming Tutorial

Book 1 book_id : 6495407

Book 2 title : Telecom Billing

Book 2 author : Zara Ali

Book 2 subject : Telecom Billing Tutorial

Book 2 book_id : 6495700

Đặc điểm của cấu trúc trong C#

Ở trên, bạn đã sử dụng một cấu trúc Books đơn giản Các cấu trúc trong C# là khá khác với kiểu cấu trúc truyền thống trong C hoặc C++ Cấu trúc trong C# có các đặc điểm sau:

 Cấu trúc có thể có các phương thức, các trường, indexer, thuộc tính, phương thức operator, và sự kiện

 Cấu trúc có thể có các constructor đã được định nghĩa, nhưng không có destructor Tuy nhiên, bạn không thể định nghĩa một constructor mặc định cho một cấu trúc Constructor mặc định được định nghĩa tự động và không thể bị thay đổi

 Không giống các Lớp, cấu trúc không thể kế thừa từ cấu trúc hoặc lớp khác

 Cấu trúc không thể được sử dụng như là một cơ sở cho cấu trúc hoặc lớp khác

 Một cấu trúc có thể triển khai một hoặc nhiều Interface

 Thành viên cấu trúc không thể được xác định ở dạng abstract, virtual, hoặc protected

Trang 4

Khi bạn tạo một đối tượng Struct bởi sử dụng toán tử new, nó lấy đối tượng đã tạo và

constructor thích hợp được gọi Không giống Lớp, cấu trúc có thể được thuyết minh mà không cần sử dụng toán tử new

 Nếu toán tử new không được sử dụng, thì các trường chưa được gán và đối tượng không thể được sử dụng tới khi tất cả trường đó được khởi tạo

Phân biệt Class và Structure trong C#

Lớp và Cấu trúc trong C# có một số điểm khác nhau cơ bản sau:

 Các Lớp là các kiểu tham chiếu, còn cấu trúc là các kiểu giá trị

 Cấu trúc không hỗ trợ tính kế thừa

 Cấu trúc không có constructor mặc định

Từ các điểm trên, chúng ta viết lại ví dụ trên:

using System ;

struct Books

{

private string title ;

private string author ;

private string subject ;

private int book_id ;

public void getValues (string t , string a , string s , int id )

{

title = t ;

author = a ;

subject = s ;

book_id = id ;

}

public void display ()

{

Console WriteLine ( "Title : {0}" , title );

Trang 5

Console WriteLine ( "Subject : {0}" , subject );

Console WriteLine ( "Book_id :{0}" , book_id );

}

};

public class testStructure

{

public static void Main (string[] args )

{

Books Book1 new Books (); /* Declare Book1 of type Book */

Books Book2 new Books (); /* Declare Book2 of type Book */

/* book 1 specification */

Book1 getValues ( "C Programming" ,

"Nuha Ali" , "C Programming Tutorial" , 6495407 );

/* book 2 specification */

Book2 getValues ( "Telecom Billing" ,

"Zara Ali" , "Telecom Billing Tutorial" , 6495700 );

/* print Book1 info */

Book1 display ();

/* print Book2 info */

Book2 display ();

Console ReadKey ();

}

}

Trang 6

Khi code trên được biên dịch và thực thi, nó sẽ cho kết quả:

Title : C Programming

Author : Nuha Ali

Subject : C Programming Tutorial

Book_id : 6495407

Title : Telecom Billing

Author : Zara Ali

Subject : Telecom Billing Tutorial

Book_id : 6495700

Ngày đăng: 02/12/2017, 20:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm