Đồ án tốt nghiệp
LỜI NÓI ĐẦU
Hiện nay, tại hầu hết các thư viện ở nước ta vẫn còn quản lý theo phương thức
truyền thống. Đó là cách quản lý và lưu trữ trên giấy tờ, sổ sách. Phương thức này có
rất nhiều hạn chế. Để quản lý được đầy đủ, chi tiết, và chính xác, hàng năm, Thư viện
phải mất một khoản chi phí khá lớn cho việc mua nguyên liệu (giấy tờ, sổ sách, tư
liệu). Hơn nữa, do đặc đỉêm chất liệu giấy rất nhanh hỏng, phải thường xuyên thay
thế, nâng cấp, mỗi lần thay đổi là một lần phải sao chép sổ sách, bảo quản tư liệu.. tốn
kém cả về chi phí đầu tư, vừa mất nhiều thời gian và sức lực. Hoạt động quản lý, tra
cứu theo cách trên cũng chiếm rất nhiều thời gian, công sức của cả người thủ thư lẫn
bạn đọc mà hiệu quả đạt được lại không cao. Trong điều kiện trình độ khoa học công
nghệ còn kém, những thành tựu của nó chưa đủ để đáp ứng cho nhu cầu ứng dụng,
phương thức quản lý truyền thống xét ở phương diện nào đó cũng đã phát huy tác
dụng và giữ một vai trò quan trọng.
Ngày nay, cuộc cách mạng khoa học - công nghệ và những thành tựu của nó
đang góp phần làm biến đổi nhanh chóng và sâu sắc mọi mặt của đời sống xã hội, trở
thành công cụ không thể thiếu trong nhiều lĩnh vực hoạt động như: ứng dụng trong
công tác quản lý, nghiên cứu, hỗ trợ công tác chuyên môn và trao đổi thông tin…
Đặc biệt, nó càng trở nên quan trọng đối với các ngành liên quan tới tri thức, thông
tin, tư liệu... như hoạt động thư viện.
SVTH : Đỗ Thành Kiên – Lớp K2C
1
Đồ án tốt nghiệp
MỤC LỤC
LỜI NÓI ĐẦU ..................................................................................................................... 1
Chương 1 : PHÂN TÍCH BÀI TOÁN.................................................................................. 4
1.1. Mô tả bài toán ...................................................................................................................... 4
1.2. Khảo sát bài toán. ................................................................................................................ 5
1.2.1. Thông tin đầu vào. ........................................................................................................................5
1.2.2. Thông tin ra. .................................................................................................................................5
1.3. Mục tiêu quản lý................................................................................................................... 5
1.3.1. Theo dõi mượn sách:.....................................................................................................................5
1.3.2. Theo dõi trả sách...........................................................................................................................5
1.4. Yếu tố thành công ................................................................................................................ 6
1.5. Biểu đồ phân cấp chức năng(BFD). ..................................................................................... 6
1.6.Các thực thể liên kết.............................................................................................................. 7
1.7. Biểu đồ luồng dữ liệu(DFD). ................................................................................................ 7
1.7.1. Biểu đồ mức khung cảnh. ..............................................................................................................7
1.7.2. Biểu đồ luồng dữ liệu mức đỉnh.....................................................................................................8
1.7.3. Biểu đồ luồng dữ liệu mức dưới đỉnh.............................................................................................9
1.8. Sơ đồ thực thể liên kết........................................................................................................ 13
1.8. Xây dựng thuộc tính........................................................................................................... 14
1.9. Xây dựng các bảng dữ liệu................................................................................................. 15
Chương 2 : CƠ BẢN VỀ C#, LẬP TRÌNH .NET VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
SQL SERVER 2000. .......................................................................................................... 19
2.1. Cơ bản về C Sharp. ............................................................................................................ 19
2.1.1. Giới thiêu về ngôn ngữ C#........................................................................................................... 19
2.1.2. Biến và hằng. .............................................................................................................................. 20
2.1.3. Câu lệnh điều khiển..................................................................................................................... 26
2.1.5. Windows Forms.......................................................................................................................... 30
2.1.6. Một số công cụ chính trong C Sharp. ........................................................................................... 31
2.2. Giới thiệu về lập trình trong môi trường .NET................................................................ 39
2.2.1. Truy cập dữ liệu với ADO.NET................................................................................................... 40
+ Truy cập nhanh cơ sở dữ liệu với DataReader. ................................................................................... 46
2.2.2. Làm việc với báo cáo sử dụng Crystal Report .NET ..................................................................... 52
2.3. Giới thiệu về hệ quản trị cơ sở dữ liệu SQL SERVER 2000............................................. 56
2.3.1 Giới thiệu tổng quan..................................................................................................................... 56
2.3.2. Các thành phần quan trọng trong SQL server2000........................................................................ 56
2.3.3. Cấu trúc của SQL server 2000. .................................................................................................... 59
2.3.4. Cấu trúc vật lý của một cơ sở dữ liệu SQL. .................................................................................. 60
2.3.5. Cách tạo một cơ sở dữ liệu người dùng bằng Enterprise Manager................................................ 61
2.3.6. Cách tạo bảng bằng Enterprise Manager. .................................................................................... 62
2.3.7. Thao tác dữ liệu .......................................................................................................................... 63
Chương 3 : THIẾT KẾ CHƯƠNG TRÌNH....................................................................... 64
3.1. Chức năng hệ thống ........................................................................................................... 64
SVTH : Đỗ Thành Kiên – Lớp K2C
2
Đồ án tốt nghiệp
3.2. Chức năng cập nhật danh mục. ......................................................................................... 66
3.2.1. Chức năng cập nhật tác giả. ......................................................................................................... 66
3.2.2. Chức năng cập nhật NXB. ........................................................................................................... 67
3.2.3. Chức năng cập nhật loại sách....................................................................................................... 68
3.3. Chức năng quản lý kho sách. ............................................................................................. 70
3.3.1. Quản lý sách. .............................................................................................................................. 70
3.3.2. Tìm kiếm sách............................................................................................................................. 70
3.4. Chức năng Quản lý độc giả. ............................................................................................... 72
3.5. Chức năng Quản lý mượn trả............................................................................................ 74
3.5.1. Mượn sách. ................................................................................................................................. 74
3.5.2. Trả sách. ..................................................................................................................................... 74
3.5.3. Gia hạn thêm............................................................................................................................... 75
KẾT LUẬN ........................................................................................................................ 76
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ................................................................. 77
TÀI LIỆU THAM KHẢO .................................................................................................. 78
SVTH : Đỗ Thành Kiên – Lớp K2C
3
Đồ án tốt nghiệp
Chương 1 : PHÂN TÍCH BÀI TOÁN
1.1. Mô tả bài toán
Để đáp ứng nhu cầu học tập và tìm hiểu khoa học của mọi độc giả, thư
viện khoa CNTT cho độc giả mượn sách về nhà. Nhưng số lượng độc giả mượn sách
đã nhanh chóng trở nên rất đông, chính vì vậy làm cho công tác quản lý độc giả mượn
và trả sách bằng phương pháp thủ công trước đây gặp nhiều khó khăn. Chính vì vậy,
thư viện khoa CNTT – ĐHTN có nhu cầu quản lý việc sử dụng sách. Công việc mượn
và trả sách tiến hành như sau:
Sinh viên đăng ký quyền mượn sách bằng các thẻ thư viện chứa các thông tin
về tên, tuổi, địa chỉ, lớp, giới tính. Nhân viên thư viện sẽ kiểm tra các thông tin xem
có chính xác không, nếu chính xác nhân viên thư viện sẽ giao sách cho độc giả và giữ
lại thẻ thư viện cùng với phiếu yêu cầu của độc giả. Các lần mượn sách được ghi nhận
bằng các phiếu mượn có dạng sau:
Số phiếu mượn: XX
Ngày mượn:
Số hiệu thẻ TV:
Ngày trả:
Số hiếu sách:
Hạn trả:
Phiếu mượn được thay vào chỗ sách bị lấy đi. Khi sinh viên trả sách thì mang
sách đến thư viện đưa cho nhân viên thư viện. Nhân viên thư viện kiểm tra sách độc
giả đem đến trả xem sách có phải của thư viện không và độc giả có trả đúng hạn
không. Nếu quá hạn thì độc giả sẽ phải chịu phạt theo qui định của thư viện. Và phải
bồi thường theo qui định nếu độc giả làm mất sách cũng như làm hỏng sách. Nếu độc
giả trả sách đúng thời hạn thì việc trả sách được ghi nhận vào dòng Ngày trả trên
phiếu mượn và phiếu mượn được lưu để theo dõi.
Yêu cầu hệ thống phải thông báo được:
1. Các đầu sách một sinh viên đang mượn và hạn phải trả.
SVTH : Đỗ Thành Kiên – Lớp K2C
4
Đồ án tốt nghiệp
2. Vị trí một cuốn sách hay tên người đang mượn.
3. Hàng tháng thống kê các chủ đề, tác giả có nhiều bạn đọc quan tâm.
4. Hàng tuần thống kê các độc giả trả quá hạn và đưa ra các hình thức xử lý.
1.2. Khảo sát bài toán.
1.2.1. Thông tin đầu vào.
- Độc giả( sinh viên ): Họ tên, địa chỉ.
- Thẻ thư viện : Mã số thẻ, ngày cấp, thời hạn.
- Phiếu mượn : Họ tên, mã số thẻ, mã sách, tên sách
1.2.2. Thông tin ra.
- Tổng hợp số người mượn, trả sách.
- Tổng hợp được số người trả quá hạn.
1.3. Mục tiêu quản lý.
+ Theo dõi mượn sách.
+ Theo dõi trả sách.
+ Quản lý độc giả.
1.3.1. Theo dõi mượn sách:
- Nhận phiếu mượn.
- Duyệt cho mượn.
- Trả lời mượn.
1.3.2. Theo dõi trả sách:
- Xác định trả đúng hạn.
- Xác định trả quá hạn.
- Xử lý trả quá hạn.
SVTH : Đỗ Thành Kiên – Lớp K2C
5
Đồ án tốt nghiệp
1.4. Yếu tố thành công
+ Tổng hợp số sách còn lại thư viện
+ Số độc giả trả quá hạn
1.5. Biểu đồ phân cấp chức năng(BFD).
SVTH : Đỗ Thành Kiên – Lớp K2C
6
Đồ án tốt nghiệp
1.6.Các thực thể liên kết.
-
Thực thể mang tin: Phiếu mượn.
-
Thực thể cần quản lý: Sách, Loại sách, NXB, Tác giả, Độc giả, Sách
hỏng, User.
1.7. Biểu đồ luồng dữ liệu(DFD).
1.7.1. Biểu đồ mức khung cảnh.
QUẢN LÝ
THƯ VIỆN
Yêu cầu thực hiện
Nhân viên TV
Phản hồi từ hệ thống
SVTH : Đỗ Thành Kiên – Lớp K2C
7
Đồ án tốt nghiệp
1.7.2. Biểu đồ luồng dữ liệu mức đỉnh.
Nhân viên TV
Thông tin tài khoản
Hệ thống
Thông tin trả lời
User
SVTH : Đỗ Thành Kiên – Lớp K2C
8
Đồ án tốt nghiệp
1.7.3. Biểu đồ luồng dữ liệu mức dưới đỉnh.
+ Mức dưới đỉnh chức năng Quản lý sách.
SVTH : Đỗ Thành Kiên – Lớp K2C
9
Đồ án tốt nghiệp
+ Mức dưới đỉnh chức năng Quản lý độc giả.
SVTH : Đỗ Thành Kiên – Lớp K2C
10
Đồ án tốt nghiệp
+ Mức dưới đỉnh chức năng Theo dõi mượn trả.
SVTH : Đỗ Thành Kiên – Lớp K2C
11
Đồ án tốt nghiệp
+ Mức dưới đỉnh chức năng Thống kê.
Thông tin quá hạn
Thông tin sách hỏng
hạn
Sách hỏng
Nhân viên TV
Thông tin thống kê
TK quá
hạn
TK sách
hỏng
Nhân viên TV
Sách
Độc giả
Thông tin yêu cầu
Phiếu mượn
TK sách
còn
TK sách
mượn
TK sách
tồn kho
Thông tin thống kê
Thông tin yêu cầu
Kết quả TK
Nhân viên TV
SVTH : Đỗ Thành Kiên – Lớp K2C
Độc giả
Thông tin yêu cầu
12
Đồ án tốt nghiệp
1.8. Sơ đồ thực thể liên kết.
Tác giả
NXB
Sách
Phiếu mượn
Độc giả
Loại sách
Sách hỏng
Phá vỡ liên kết n-n
Chi tiết mượn
Tác giả
NXB
Sách
Phiếu mượn
Độc giả
Loại sách
Sách hỏng
SVTH : Đỗ Thành Kiên – Lớp K2C
13
Đồ án tốt nghiệp
1.8. Chuẩn hóa dữ liệu.
1NF
2NF
3NF
#Mã phiếu mượn
#Mã phiếu mượn
#Mã phiếu mượn
#Mã phiếu mượn
Ngày mượn
Ngày mượn
Ngày mượn
Ngày mượn
Hạn trả
Mã thẻ
Mã thẻ
#Mã thẻ@
Mã thẻ
Họ tên
Họ tên
#Mã thẻ
Họ tên
Ngày sinh
Ngày sinh
Họ tên
Ngày sinh
Giới tính
Giới tính
Ngày sinh
Giới tính
Lớp
Lớp
Giới tính
Lớp
Thời hạn
Thời hạn
Lớp
#Mã phiếu mượn
#Mã phiếu mượn
Mã sách
#Mã sách @
#Mã phiếu mượn
Tên sách
Số lượng mượn
#Mã sách @
Mã NXB
#Mã sách
Số lượng mượn
Tên NXB
#Mã NXB @
#Mã sách
Tác giả
#Mã loại @
#Mã NXB @
Mã loại sách
Tên sách
#Mã loại @
Tên loại sách
Thể thức mượn
Tên sách
Thể thức mượn
Số lượng
Thể thức mượn
Số lượng
Số trang
Số lượng
Số trang
Vị trí
Số trang
Vị trí
Lượt mượn
Vị trí
Lượt mượn
Ngày nhập TV
Lượt mượn
#Mã NXB
Ngày nhập TV
Tên NXB
#Mã NXB
#Mã loại sách
Tên NXB
Tên loại sách
#Mã loại sách
Thời hạn
Mã sách
Tên sách
Mã NXB
Tên NXB
Tác giả
Mã loại sách
Tên loại sách
Thể thức mượn
Số lượng
Số trang
Vị trí
Lượt mượn
Ngày nhập TV
Mã ngôn ngữ
Ngôn ngữ
Mã tác giả
Tên tác giả
Số lượng mượn
Ngày nhập TV
Mã ngôn ngữ
Ngôn ngữ
SVTH : Đỗ Thành Kiên – Lớp K2C
Thời hạn
14
Đồ án tốt nghiệp
Mã tác giả
#Mã ngôn ngữ
Tên loại sách
Tác giả
Ngôn ngữ
#Mã ngôn ngữ
#Mã tác giả
Ngôn ngữ
Tên tác giả
#Mã tác giả
Tên tác giả
1.9. Xây dựng các bảng dữ liệu.
Từ phân tích các thuộc tính ở trên ta có các bảng dữ liệu như sau :
SVTH : Đỗ Thành Kiên – Lớp K2C
15
Đồ án tốt nghiệp
+ Các bảng dữ liệu.
Bảng User
Bảng sach
SVTH : Đỗ Thành Kiên – Lớp K2C
16
Đồ án tốt nghiệp
Bảng docgia
Bảng PhieuMuon
SVTH : Đỗ Thành Kiên – Lớp K2C
17
Đồ án tốt nghiệp
Bảng nhaxuatban
Bảng phanloai
Bảng ngonngu
SVTH : Đỗ Thành Kiên – Lớp K2C
18
Đồ án tốt nghiệp
Chương 2 : CƠ BẢN VỀ C#, LẬP TRÌNH .NET VÀ HỆ QUẢN TRỊ CƠ
SỞ DỮ LIỆU SQL SERVER 2000.
2.1. Cơ bản về C Sharp.
2.1.1. Giới thiêu về ngôn ngữ C#.
C# mô tả một ngôn ngữ hiện đại hướng đối tượng (object-oriented). Nó được
thiết kế để chú ý đến việc diển đạt C++ theo kiểu lập trình và phát triển nhanh ứng
dụng RAD (Rapid Application Development) chẳng hạn như Microsoft Visual Basic,
Delphi, C++ Builder. C# được kiến trúc bởi Anders Hejlsberg, người đã viết nên trình
biên dịch Pascal và có nhiều đóng góp cho ngôn ngữ Delphi cũng như Java. Và do đó
sự tiến triển của C# chịu ảnh hưởng bởi các ngôn ngữ như C++, SmallTalk, Java và
các ngôn ngữ khác. Thiết kế chu đáo của C# cho phép bạn với tư cách là người phát
triển tập trung vào các tác vụ xây dựng các ứng dụng theo yêu cầu hơn là vào những
kỹ thuật lắt léo của ngôn ngữ lập trình.
Chúng ta từng biết hay ít nhất là nghe nói về ngôn ngữ hướng đối tượng (như
C++,
Java,
v.v.),
vậy
C#
hướng
đối
tượng
như
thế
nào?
Trước hết, mọi thứ trong C# đều là đối tượng. C# không quan tâm đến dữ liệu toàn
cục hay hàm toàn cục. Tất cả dử liệu và phương thức trong C# được chứa trong khai
báo: cấu trúc (struct) hoặc lớp (class). Tất cả dử liệu được và phương thức thao tác
trên dữ liệu cần được đóng gói như một đơn vị chức năng, các đơn vị chứ năng này là
những đối tượng có thể được sử dụng lại, chúng độc lập và có thể tự hoạt động.
CLR (.NET Common Language Runtime - tạm dịch là trình thực thi ngôn ngữ
phổ quát). Khối chức năng này cung ứng tất cả các dịch vụ mà các thành tố của chúng
sẽ giao tiếp với máy hay với hệ điều hành riêng trên máy đó. Máy đó chỉ là máy PC
và hệ điều hành không chỉ là DOS hay Windows. Microsoft đã có một chiến lượt xây
dựng bộ khung .NET trên mọi nền, từ các dụng cụ nhỏ nhất, các thiết bị cầm tay, điện
thoại, các PDA cho đến các hệ thống như UNIX hay LINUX. Mặc dù đến nay công
nghệ .NET vẫn chưa thể đáp ứng ngay tất cả những điều đó, nhưng tính khả chuyển
SVTH : Đỗ Thành Kiên – Lớp K2C
19
Đồ án tốt nghiệp
của nó cũng đang trở nên đủ dùng như là một môi trường lập trình "viết một lần
chạy khắp nơi".
C# sẽ cho phép cả những người lập trình có trình độ cao và cho cả những
người mới vào nghề, viết một chương trình tin cậy được với công sức tối thiểu. Có
những hiểu biết về thiết kế và cài đặt hướng đối tượng từ kinh nghiệm học tập - làm
việc cùng với C++ hoặc Java, Visual C++ hoặc Visual Basic sẽ là những chìa khóa
vàng giúp bạn nhanh chóng tiếp cận với C#.
2.1.2. Biến và hằng.
Một biến dùng để lưu trữ giá trị mang một kiểu dữ liệu nào đó. Cú pháp C# sau
đây để khai báo một biến :
[ modifier ] datatype identifer ;
Với modifier là một trong những từ khoá : public, private, protected, . . . còn
datatype là kiểu dữ liệu (int , long , float. . . ) và identifier là tên biến.
Thí dụ dưới đây một biến mang tên i kiểu số nguyên int và có thể được truy
cập bởi bất cứ hàm nào.
public int i ;
Ta có thể gán cho biến một giá trị bằng toán tử "=".
i = 10 ;
Ta cũng có thể khai báo biến và khởi tạo cho biến một giá trị như sau :
int i = 10 ;
Nếu ta khai báo nhiều biến có cùng kiểu dữ liệu sẽ có dạng như sau:
int x = 10; y = 20;
int x = 10;
bool y = true ;
// khai báo trên đúng
int x = 10 , bool = true // khai báo trên có lỗi
SVTH : Đỗ Thành Kiên – Lớp K2C
20
Đồ án tốt nghiệp
a. Phạm vi hoạt động của biến (Variable Scope).
Phạm vi hoạt động của biến là vùng đoạn mã mà từ đấy biến có thể được truy
xuất. Trong một phạm vi hoạt động (scope), không thể có hai biến cùng mang một tên
trùng nhau.
Thí dụ ta không thể làm như sau :
int x = 20;
// một số câu lệnh ở đây
int x = 30;
Xét ví dụ sau :
using System;
namespace Wrox.ProCSharp.Basics
{
public class ScopeTest
{
public static int Main()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine(i);
}
// biến i ra khỏi phạm vi
//Chúng ta có thể khai báo thêm biến i ở đây
for (int i = 9; i >= 0; i--)
{
Console.WriteLine(i);
}
// biến i ra khỏi phạm vi ở đây
return 0;
}
}
}
Đoạn mã trên đơn giản in ra các số từ 0 đến 9, rồi lộn ngược lại từ 9 đến 0, sử
dụng vòng lặp for. Chúng ta sẽ đề cập loại vòng lặp này. Điều quan trọng là ở đây
chúng ta khai báo biến i hai lần trong cùng một hàm ScopeTest. Chúng ta có thể làm
được điều này vì i được khai báo trong vòng lặp nghĩa là biến i cục bộ đối với vòng
lặp. Một khi vòng lặp hoàn thành nhiệm vụ thì biến thoát khỏi phạm vi, và không thể
truy xuất được nữa.
SVTH : Đỗ Thành Kiên – Lớp K2C
21
Đồ án tốt nghiệp
b. Hằng.
Một hằng (constant) là một biến nhưng trị không thể thay đổi được suốt thời
gian thi hành chương trình. Đôi lúc ta cũng cần có những giá trị bao giờ cũng bất
biến.
Thí dụ :const int a = 100; // giá trị này không thể bị thay đổi
Trong định nghĩa lớp mà ta sẽ xem sau, người ta thường định nghĩa những mục
tin (field) được gọi là read-only variable, nghĩa là những biến chỉ được đọc mà thôi
Hằng có những đặc điểm sau :
Hằng bắt buộc phải được gán giá trị lúc khai báo.Một khi đã được khởi
gán thì không thể viết đè chồng lên.
Trị của hằng phải có thể được tính toán vào lúc biên dịch, Do đó không
thể gán một hằng từ một trị của một biến. Nếu muốn làm thế thì phải sử dụng đến một
read-only field.
Hằng bao giờ cũng static, tuy nhiên ta không thể đưa từ khoá static vào
khi khai báo hằng.
Có ba thuận lợi khi sử dụng hằng trong chương trình:
Hằng làm cho chương trình đọc dễ dàng hơn, bằng cách thay thế những
con số vô cảm bởi những tên mang đầy ý nghĩa hơn.
Hằng làm cho dễ sữa chương trình hơn.
Hằng làm cho việc tránh lỗi dễ dàng hơn, nếu bạn gán một trị khác cho
một hằng đâu đó trong chương trình sau khi bạn đã gán giá trị cho hằng, thì trình biên
dịch sẽ thông báo sai lầm.
c. Dữ liệu kiểu trị và kiểu qui chiếu
C# là một ngôn ngữ được kiểm soát chặt chẻ về mặt kiểu dữ liệu, ngoài ra C#
còn chia các kiểu dữ liệu thành hai loại khác nhau: kiểu trị (value type) và kiểu qui
chiếu (reference type). Nghĩa là trên một chương trình C# dữ liệu được lưu trữ một
hoặc hai nơi tuỳ theo đặc thù của kiểu dữ liệu.
Chỗ thứ nhất là stack một vùng ký ức dành lưu trữ dữ liệu chiều dài cố định,
chẳng hạn int chiếm dụng 4 bytes . Mỗi chương trình khi đang thi hành đều được cấp
SVTH : Đỗ Thành Kiên – Lớp K2C
22
Đồ án tốt nghiệp
phát riêng một stack riêng biệt mà các chương trình khác không được mó tới. Khi một
hàm được gọi hàm thi hành thì tất cả các biến cục bộ của hàm được ấn vào stack và
khi hàm hoàn thành công tác thì những biến cục bộ của hàm đều bị tống ra. Đây là
cách thu hồi khi hàm hết hoạt động.
Chỗ thứ hai là heap, một vùng ký ức dùng lưu trữ dữ liệu có bề dày thay đổi và
khá đồ sộ, string chẳng hạn, hoặc dữ liệu có một cuộc sống dài hơn phương thức của
một đối tượng chẳng hạn, Thí dụ khi phương thức thể hiện (instantiate) một đối tượng
, đối tượng đuợc lưu trữ trên heap, và nó không bị tống ra khi hàm hoàn thành giống
như stack, mà ở nguyên tại chỗ và có thể trao cho các phương thức khác thông qua
một qui chiếu. Trên C# heap này được gọi là managed heap, khôn lanh vì heap này
có một bộ phận gọi là garbage collector (GC,dịch vụ hốt rác ) chuyên lo thu hồi ký ức
lâu ngày không dùng đến (nghĩa là không quy chiếu đến).
C# cũng hỗ trợ kiểu con trỏ (pointer type) giống như C++ nhưng ít khi dùng
đến và chỉ dùng khi làm việc với đoạn mã unmanaged. Đoạn mã unmanaged là đoạn
mã đuợc tạo ra ngoài sàn diễn .NET, chẳng hạn những đối tượng COM.
Kiểu giá trị được định nghĩa trước (Predefined Value Types)
Kiểu dữ liệu bẩm sinh (The built-in value types) trình bày ban đầu như integer
và floating-point numbers, character, và Boolean types.
SVTH : Đỗ Thành Kiên – Lớp K2C
23
Đồ án tốt nghiệp
Các kiểu Integer:
C# hỗ trợ 8 kiểu dữ liệu số nguyên sau:
Tên
CTS Type
Giá trị (min:max)
sbyte
System.SByte
-128:127 (-27:27-1)
short
System.Int16
-32,768:32,767 (-215:215-1)
int
System.Int32
-2,147,483,648:2,147,483,647 (-231:231-1)
long
System.Int64
byte
System.Byte
0:255 (0:28-1)
ushort
System.UInt16
0:65,535 (0:216-1)
uint
System.UInt32
0:4,294,967,295 (0:232-1)
ulong
System.UInt64
0:18,446,744,073,709,551,615(0:264-1)
kiểu
-9,223,372,036,854,775,808:
9,223,372,036,854,775,807 (-263:263-1)
Kiểu dữ liệu số dấu chấm di động (Floating Point Types)
Tên
CTS Type
Giá trị
Float
System.Single
±1.5 × 10-45 to ±3.4 × 1038
Double
System.Double
±5.0 × 10-324 to ±1.7 × 10308
Kiểu dữ liệu số thập phân (Decimal Type):
Name
CTS Type
decimal
System.Decimal
Giá trị
±1.0 × 10-28 to ±7.9 × 1028
Kiểu Boolean :
Name
CTS Type
Bool
System.Boolean
SVTH : Đỗ Thành Kiên – Lớp K2C
Value
true or false
24
Đồ án tốt nghiệp
Kiểu Character Type:
Name
CTS Type
char
System.Char
Giá trị
Represents a single 16-bit (Unicode)
character
Các ký tự escape thông dụng:
Escape Sequence
Character
\'
Single quote
\"
Double quote
\\
Backslash
\0
Null
\a
Alert
\b
Backspace
\f
Form feed
\n
Newline
\r
Carriage return
\t
Tab character
\v
Vertical tab
Các kiểu chuỗi :
Đối tượng kiểu string thường chứa một chuỗi ký tự.Khi khai báo một biến
chuỗi sử dụng từ khoá string giống như sau:
string
myString;
Thường thì phải khởi gán một biến chuỗi sử dụng đến một kiểu string :
string myString = "Xin chao" ;
string str1 = "Hello ";
SVTH : Đỗ Thành Kiên – Lớp K2C
25