1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo trình C# - Cơ Bản (Bài 2. Khái niệm Framework)

77 281 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 627,95 KB

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

Nội dung

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCMTRUNG TÂM TIN HỌC Các kiểu dữ liệu Cá kiể iá t ị V l T − Các kiểu giá trị Value Types − Các kiểu tham chiếu Reference Types... Các kiểu dữ liệu• C

Trang 2

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Bài 2: Các khái niệm và nguyên tắc

cơ bản của NET Framework

Trang 3

Tổng quan về NET Framework

cụ phát triển ứng dụng NET ụ p g ụ g

trình ứng dụng và các service thế hệ kế tiếp

hành các chức năng mà đối tượng đó cung cấp

các loại dịch vụ từ hệ điều hành

Trang 4

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Tổng quan về NET Framework

Trang 5

Tổng quan về NET Framework

Trang 6

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Bài 2: Các khái niệm và nguyên tắc

cơ bản của NET Framework

Biế à hằ

Trang 7

Các kiểu dữ liệu

Khái niệm

Cách tạo và sử dụng các kiểu dữ liệu

Chuyển đổi giữa các kiểu dữ liệu

Trang 8

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 9

Các kiểu dữ liệu

Kiể dữ liệ t NET đ hi thà h hiề l i

− Kiểu dữ liệu trong NET được chia thành nhiều loại:

Kiểu giá trị (Value Types)

Kiểu tham chiếu (Reference Types)

Kiểu do người dùng định nghĩa (User-defined Types)

Kiểu liệt kê (Enumerations)

− Mỗi kiểu dữ liệu trong NET là một đối tượng, nghĩa là nó

có các thuộc tính và phương thức riêng Một trong

Trang 10

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các kiểu dữ liệu

Cá kiể iá t ị (V l T )

− Các kiểu giá trị (Value Types)

− Các kiểu tham chiếu (Reference Types)

Trang 11

Các kiểu dữ liệu

Các kiểu giá trị (Value Types)

Bao gồm các kiểu dữ liệu số học ngày giờ kiểu luận lý kiểu

− Bao gồm các kiểu dữ liệu số học, ngày giờ, kiểu luận lý, kiểu

do người dùng định nghĩa và kiểu liệt kê

− Các biến có kiểu giá trị là những biến chứa trực tiếp dữ liệu

ế

của chúng thay vì chứa một tham chiếu tới dữ liệu được lưu trữ tại một nơi nào đó trong bộ nhớ (memory)

− Các instance của kiểu giá trị được lưu trữ trong một vùng nhớ Các instance của kiểu giá trị được lưu trữ trong một vùng nhớ

được gọi là stack, ở đó tại thời điểm vận hành (runtime) có

thể tạo (create), đọc (read), cập nhật (update), và loại bỏ

Trang 12

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các kiểu dữ liệu

Các kiểu giá trị (Value Types)

Các kiểu giá trị tổng quát:

− Các kiểu giá trị tổng quát:

Các kiểu giá trị được xây dựng sẵn (Built-in types)

Các kiểu do người dùng định nghĩa (User-defined types) Các kiểu do người dùng định nghĩa (User defined types)

Các kiểu liệt kê (Enumerations)

Trang 13

Các kiểu dữ liệu

Là các kiểu cơ sở do NET Framework cung cấp các kiểu dữ

− Là các kiểu cơ sở do NET Framework cung cấp, các kiểu dữ liệu khác đều được xây dựng dựa trên các kiểu dữ liệu cơ sở này

− Tất cả các kiểu dạng số (numeric types) được xây dựng sẵn đều thuộc loại kiểu giá trị

− Bảng sau liệt kê các kiểu số thường dùng nhất:

− Bảng sau liệt kê các kiểu số thường dùng nhất:

Trang 14

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Kiểu/Alias C# Kích thước Miền giá trị (Range)

System.SByte y y /sbyte y 1 byte y -128 Æ 127

System.Short/short 2 bytes -32768 Æ 32767

System Integer/int 4 bytes 2147483648 Æ 2147483647

System.Integer/int 4 bytes -2147483648 Æ 2147483647

System.UInteger/uint 4 bytes 0 Æ 4294967295

System.Long/long 8 bytes -9223372036854775808Æ

9223372036854775807

System.Single/float 4 bytes -3.402823E+38 Æ 3.402823E+38

System.Double/double 8 bytes -1.79769313486232E+308

Æ1 79769313486232E 308 Æ1.79769313486232E+308

Trang 15

Kiểu/Alias C# Kích thước Miền giá trị (Range)

System.Char/char 2 bytes y N/A

System.Boolean/bool 4 bytes N/A

System.DateTime

(Date/ date) 8 bytes 1/1/0001 12:00:00 AM Æ12/31/9999 11:59:59 PM/3 /9999 59 59

− Việc sử dụng alias hoàn toàn tương đương với cách sử dụng tên kiểu theo cách đầy đủ, tuy nhiên hầu hết các lập trình viên y y ập

sử dụng alias để chúng ngắn gọn hơn.

− Khi gán các biến kiểu giá trị với nhau, dữ liệu được sao chép

từ biến này tới biến kia và được lưu trữ tại hai vị trí khác nhau

từ biến này tới biến kia và được lưu trữ tại hai vị trí khác nhau trên stack

− Các kiểu giá trị thường được dùng để trình bày các giá trị đơn

Trang 16

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các kiểu dữ liệu

Kiểu do người dùng định nghĩa còn được gọi là các struct

Kiểu do người dùng định nghĩa còn được gọi là các struct

Giống như các kiểu giá trị khác, các instance của các kiểu do người dùng định nghĩa được lưu trữ trên stack và chứa trực tiếp dữ liệu của chúng

struct là một kiểu cấu trúc hỗn hợp của nhiều kiểu khác nhằm mục đích dễ dàng làm việc với dạng dữ liệu quan hệ

− struct có cấu trúc tương tự như class, tuy nhiên struct có kiểu

Trang 18

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 19

public string Ma_so;

public string Ho_ten;

public date Ngay_sinh;

Trang 20

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 22

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 23

Các kiểu dữ liệu

Kiểu liệt kê (Enumerations)

− Ví dụ:

enum Titles : int { Mr, Ms, Mrs, Dr };

Nếu bạn tạo một instance của kiểu Titles , Visual Studio

sẽ hiển thị một danh sách các giá trị có sẵn để gán giá trị cho biến

Trang 24

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 25

Các kiểu dữ liệu

Cách khai báo các kiểu giá trị

− Các kiểu giá trị có một khởi tạo (constructor) ngầm định,

do vậy bạn không cần phải bao gồm trong phần khai báo

từ khóa New như khi khai báo với class

− Ví dụ:

bool b = false;

Trong C# mỗi câu lệnh được kết thúc bởi dấu “ ; ”

Trang 26

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các kiểu dữ liệu

Cách khai báo các kiểu giá trị

.NET 2.0 cung cấp một kiểu mới đó là kiểu Nullable cho

phép kiểm tra liệu một biến đã được gán giá trị hay chưa

− Ví dụ:

Nullable<bool> b = null;

// C# cho phép sử dụng ký hiệu thể hiện nhanh như sau

Trang 28

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các kiểu dữ liệu

Cá kiể iá t ị (V l T )

− Các kiểu giá trị (Value Types)

− Các kiểu tham chiếu (Reference Types)

Trang 29

Các kiểu dữ liệu

Các kiểu tham chiếu lưu trữ địa chỉ dữ liệu của chúng cũng

− Các kiểu tham chiếu lưu trữ địa chỉ dữ liệu của chúng, cũng

được hiểu như là một con trỏ (pointer), trên stack

− Dữ liệu thực sự mà các tham chiếu địa chỉ tham chiếu tới

được lưu trữ trong một vùng bộ nhớ được gọi là heap

− Hầu hết các kiểu trong NET Framework là kiểu tham chiếu Các kiểu tham chiếu cung cấp rất nhiều cho tính linh động,

Các kiểu tham chiếu cung cấp rất nhiều cho tính linh động, uyển chuyển, chúng mang đến khả năng thực thi hoàn hảo khi gởi chúng tới các phương thức

Trang 30

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các kiểu dữ liệu

Thời điểm vận hành (runtime) quản lý bộ nhớ bằng việc sử

− Thời điểm vận hành (runtime) quản lý bộ nhớ bằng việc sử

dụng heap thông qua một tiến trình được gọi là garbage collection Garbage collection sẽ khởi tạo bộ nhớ theo chu kỳ

dựa theo nhu cầu bằng cách loại bỏ các đối tượng không còn

dựa theo nhu cầu bằng cách loại bỏ các đối tượng không còn được tham chiếu nữa

− Có khoảng 2500 kiểu tham chiếu được xây dựng sẵn

NET F k (khô đ dẫ ấ ừtrong NET Framework (không được dẫn xuất từ

Trang 31

− Các kiểu tham chiếu thường dùng:

System.Object Kiểu tổng quát

System.String Dữ liệu dạng Text

System Text StringBuilder Dữ liệu dạng Dynamic text

System.Text.StringBuilder Dữ liệu dạng Dynamic text

System.Array Mảng dữ liệu

Bộ đệm (Buffer) cho tập tin, thiết bị

Trang 32

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 33

Các kiểu dữ liệu

Đoạn mã lệnh sau đây sẽ cấp phát bốn chuỗi mới trong bộ

− Đoạn mã lệnh sau đây sẽ cấp phát bốn chuỗi mới trong bộ nhớ:

string s;

" b t" // " b t"

s = "wombat"; // "wombat"

s += " kangaroo"; // "wombat kangaroo"

s += " wallaby"; // "wombat kangaroo wallaby"

s += " koala"; // "wombat kangaroo wallaby koala" ; // g y Console.WriteLine(s);

− Chỉ chuỗi sau cùng là có một tham chiếu; ba chuỗi kia sẽ

Trang 34

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các kiểu dữ liệu

Việc ngăn ngừa các loại chuỗi tạm thời này giúp tránh gom

− Việc ngăn ngừa các loại chuỗi tạm thời này giúp tránh gom rác không cần thiết, cải thiện hiệu suất hoạt động

− Có một số cách để ngăn ngừa các chuỗi tạm thời:

Sử dụng các phương thức Concat, Join, hay Format của lớp

String ghép nhiều item trong một câu lệnh đơn lẻ

Sử dụng lớp StringBuilder để tạo các chuỗi dạng dynamic (có

Trang 35

Các kiểu dữ liệu

Đoạn mã lệnh sau đây giải thích cách sử dụng StringBuilder

System.Text.StringBuilder sb = new System.Text.StringBuilder(30);

sb.Append("wombat"); // Build string.

Trang 36

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

− Ví dụ:

int i = 1;

double d = 1.0001;

Trang 37

− Có thể thực hiện việc chuyển đổi kiểu tường minh bằng cách sử dụng toán tử chuyển kiểu (hay ép kiểu - cast operator) nó có dạng:

Biến = (kiểu cần chuyển đổi)<biểu thức chuyển đổi>

Trang 38

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 39

− Ví dụ:

int i = 123;

object o = (object) i; // cơ chế boxing

Trang 40

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 42

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các kiểu dữ liệu

Sự chuyển đổi giữa các kiểu

− Sử dụng các phương thức Convert:

Các thành viên public được chia sẽ của lớp System.Convert

có thể được sử dụng để chuyển đổi một kiểu dữ liệu cơ sở ợ ụ g y ộ ệ tới kiểu dữ liệu cơ sở khác

Sử dụng Object Browser để xem và tìm hiểu những phương thức chuyển đổi sẵn có (Để mở công cụ Object Browser:

thức chuyển đổi sẵn có (Để mở công cụ Object Browser:

Trang 44

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

}

Trang 45

string strNumber = System.Convert.ToString(SoThuc);

Trang 46

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các kiểu dữ liệu

Sự chuyển đổi giữa các kiểu

− Sử dụng phương thức Parse của kiểu dữ liệu:

Ví dụ 1: gán giá trị vào cho biến có kiểu ngày

Trang 47

Bài 2: Các khái niệm và nguyên tắc

cơ bản của NET Framework

Trang 48

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Định dạng hiển thị kiểu dữ liệu

C hay c: Sử dụng để định dạng đồng tiền Mặc định, là dấu dollar [$].

D hay d: Sử dụng để định dạng số thập phân.

E hay e: Sử dụng để thể hiện dạng số mũ.

F hay f: Sử dụng cho định dạng dấu chấm tĩnh.

G hay g: Viết tắt của general Ký tự này dùng để định dạng kiểu chấm tĩnh G hay g: Viết tắt của general Ký tự này dùng để định dạng kiểu chấm tĩnh

hay số mũ.

N hay n: Sử dụng định dạng số học cơ bản (với dấu phẩy)

X hay x: Sử dụng định dạng thập lục Nếu bạn dùng X viết hoa thì ký tự X hay x: Sử dụng định dạng thập lục Nếu bạn dùng X viết hoa thì ký tự

thập lục cũng sẽ được viết hoa.

Trang 49

Biến và Hằng

Khái niệm

Cách khai báo

Trang 50

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

−Biến có thể lưu trữ dữ liệu dạng chuỗi, dạng số, dạng ngày

giờ … tuỳ thuộc vào kiểu dữ liệu của biến

−Hằng là những giá trị không thay đổi trong suốt quá trình hoạt động của ứng dụng

−Ví dụ:

Trang 51

Biến và Hằng

Một ố l ý khi đặt tê h biế à hằ

Một số lưu ý khi đặt tên cho biến và hằng:

− Có ý nghĩa gần với giá trị lưu trữ

ế

− Tên biến có phân biệt chữ HOA, chữ thường

− Tuân theo quy tắc đặt tên biến:

Không có khoảng trắng

Không có dấu

Không đặt trùng với các từ khóa

Không đặt trùng với các từ khóa

Không sử dụng các ký tự đặt biệt (#, $, %, +, -, …)

Trang 52

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 54

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Tên biến.Thuộc tính: lấy thông tin liên quan đến đối tượng

Tên biến.Phương thức: đối tượng thực hiện hành động g ợ g ự ệ ộ g

Ví dụ:

int So a = int.Parse(txtSo a.Text); _ ( _ );

Trang 56

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Bài 2: Các khái niệm và nguyên tắc

cơ bản của NET Framework

Trang 57

Toán tử dịch chuyển bit

Toán tử dịch chuyển bit

Kiểm tra kiểu dữ liệu

Trang 58

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 59

Các toán tử

Toán tử gán

Toán tử gán

Trang 60

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

a = c; // Lỗi : Biến phải được khởi tạo trước khi sử dụng.

1 = a; // Lỗi : Trong phép gán, đích phải là một biến.

c = (a + b); // OK.

(a + b) = c; // Lỗi : Trong phép gán, đích phải là một biến.

Trang 61

Các toán tử

Toán tử gán

Toán tử gán

−Ví dụ 2: phép gán các tham chiếu (giả sử đã có class ID)

Id id1 = new Id("Frank" 1);

Id id2 = new Id("Emma", 2);

id2 = id1;

Trang 62

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 64

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các toán tử

Toán tử luận lý điều kiện

Toán tử luận lý điều kiện

Trang 65

Các toán tử

Toán tử luận lý điều kiện

−Bảng chân trị:

Trang 66

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các toán tử

Toán tử luận lý điều kiện

Toán tử luận lý điều kiện

−Ví dụ:

Trang 67

Các toán tử

Toán tử logic

Logical NOT ~a Phép đảo giá trị bit

Logical AND a & b Trả về 1 nếu cả hai bit đều là 1, ngược

lại trả về 0 Logical OR a | b Trả về 0 nếu cả hai bit đều là 0, ngược

lại trả về 1 Logical XOR a ^ b Trả về 1 nếu và chỉ nếu một trong hai

Logical XOR a b Trả về 1 nếu và chỉ nếu một trong hai

bit là 1, ngược lại trả về 0

Trang 68

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Trang 69

Các toán tử

Toán tử ghép phép gán logic

Logic ghép AND b &= a b = (Type) (b & (a)) Logic ghép OR g g p b |= a | b = (Type) (b | (a)) ( yp ) ( | ( )) Logic ghép XOR b ˆ= a b = (Type) (b ˆ (a))

Trang 70

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các toán tử

Toán tử so sánh

Toán tử so sánh

Trang 71

Các toán tử

Toán tử dịch chuyển bit

Chuyển dịch trái

(Shift left) a << n

Chuyển dịch tất cả các bit về bên trái n lần, phủ đầy 0 các bit phải tương ứng với bit chuyển dịch

với bit chuyển dịch

Chuyển dịch phải

(Shift right) a >> n

Chuyển dịch tất cả các bit về bên phải n lần, phủ đầy 0 các bit trái tương ứng với bit chuyển dịch

Trang 72

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các toán tử

Toán tử ghép phép gán dịch chuyển bit

Chuyển dịch trái a <<= n b = (Type) (b << (a))

Chuyển dịch phải a >>= n b = (Type) (b >> (a))

Trang 73

Các toán tử

Toán tử dịch chuyển bit

−Ví dụ:

−Kết quả hiển thị ra màn hình:q ị

Trang 74

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các toán tử

Toán tử tiền tố (Prefix) và hậu tố (Postfix)

− Các toán tử tăng (++) và giảm ( ) được sử dụng để làm tiền tố và hậu tố Trong trường hợp tiền tố các toán tử tăng hoặc giảm được

hậu tố Trong trường hợp tiền tố, các toán tử tăng hoặc giảm được đặt trước biến kiểu dữ liệu đơn giản

− Ví dụ:

++a Ù a = a + 1 a Ù a = a – 1 int b = 6;

Trang 75

Các toán tử

Toán tử tiền tố (Prefix) và hậu tố (Postfix)

−Ví dụ:

Trang 76

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

Các toán tử

Kiểm tra kiểu dữ liệu

−Trong C# để kiểm tra kiểu sử dụng toán tử: isas

−Cú pháp:

Kết_quả_kiểm = Biểu_thức is Kiểu

Nếu Kết_quả_kiểm là true Æ Biểu_thức có thể chuyển

đổi thành công tới Kiểu với việc ép kiểu tường minh

hoặc boxing/unboxing ngầm định Nếu Biểu thức là null hoặc boxing/unboxing ngầm định Nếu Biểu_thức là null

Ngày đăng: 03/02/2015, 01:00

TỪ KHÓA LIÊN QUAN

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

w