77
TRƯỜNG ĐẠI HC KHOA HC TNHIÊN TP.HCM TRUNG TÂM TIN HC 1

Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

Embed Size (px)

DESCRIPTION

• Tổng quan về.NET Framework • Các kiểu dữliệu • Biến và hằng • Các toán tử

Citation preview

Page 1: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

1

Page 2: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 Frameworkcơ bản của .NET Framework

• Tổng quan về .NET Framework• Các kiểu dữ liệu• Biến và hằng• Các toán tử

2

- 8 tiết -

Page 3: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

• .NET Framework là thành phần nền tảng cho mọi công cụ phát triển ứng dụng .NETụ p g ụ g

• .NET Framework được thiết kế nhằm hỗ trợ cho các trình ứng dụng và các service thế hệ kế tiếp

• Cung cấp các lớp đối tượng (Class) để có thể gọi thi hành các chức năng mà đối tượng đó cung cấp

ấ ố ể ủ• Cung cấp hơn 5000 lớp đối tượng để gọi thực hiện đủ các loại dịch vụ từ hệ điều hành

3

Page 4: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

• Kiến trúc của .NET Framework

4

Page 5: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

• Hệ thống namespace trong .NET Framework

5

Page 6: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 Frameworkcơ bản của .NET Framework

• Tổng quan về NET Framework• Tổng quan về .NET Framework• Các kiểu dữ liệu• Biế à hằ• Biến và hằng• Các toán tử

6

Page 7: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

• 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

7

Page 8: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

• Khái niệmT á ô ữ lậ t ì h ấ l ô ó á i− Trong các ngôn ngữ lập trình cấp cao luôn có các qui định về định nghĩa dữ liệu trong lập trình

− Kiểu là khái niệm ám chỉ việc định nghĩa hình thái cấuKiểu là khái niệm ám chỉ việc định nghĩa hình thái, cấu trúc và giá trị của dữ liệu, bao gồm cách biểu diễn và xử lý của dữ liệu

ể ả ế− Kiểu dữ liệu trong .NET được mô tả chi tiết trong một cấu trúc gọi là Common Type System (CTS)

8

Page 9: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

• Khái niệmKiể 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 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 những phương thức thường dùng nhất là Parse và

9

những phương thức thường dùng nhất là Parse và ToString

Page 10: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 tạo và sử dụng các kiểu dữ liệuCá kiể iá t ị (V l T )− Các kiểu giá trị (Value Types)

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

10

Page 11: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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)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ỏ (remove) chúng một cách nhanh chóng

11

( ) g ộ g

Page 12: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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)

12

Page 13: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 giá trị được xây dựng sẵn (Built-in types)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:

13

Page 14: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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/sbyte 1 byte -128 127y y y ySystem.Byte/byte 1 byte 0 255System.Short/short 2 bytes -32768 32767System Integer/int 4 bytes 2147483648 2147483647System.Integer/int 4 bytes -2147483648 2147483647System.UInteger/uint 4 bytes 0 4294967295System.Long/long 8 bytes -9223372036854775808

92233720368547758079223372036854775807System.Single/float 4 bytes -3.402823E+38 3.402823E+38System.Double/double 8 bytes -1.79769313486232E+308

1 79769313486232E 3081.79769313486232E+308System.Decimal/decimal 16 bytes -79228162514264337593543950335

79228162514264337593543950335

14

Page 15: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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.Char/char 2 bytes N/AySystem.Boolean/bool 4 bytes N/ASystem.DateTime (Date/date)

8 bytes 1/1/0001 12:00:00 AM12/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 ậpsử 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 nhautừ 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 giản

15

giản

Page 16: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 (User-defined Types)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úngtiế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 giá trị còn class có kiểu tham chiếu.

16

Page 17: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ông tin khách thuê bao có thể được lưu trữ như là một structtrữ như là một struct− Số điện thoại

H à tê− Họ và tên

− Địa chỉ liên lạc

17

Page 18: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

• Học sinh có thể được lưu trữ như là một structstruct− Mã số

H à tê− Họ và tên

− Ngày sinh

G− Giới tính

− Tên lớp

18

− Địa chỉ liên lạc

Page 19: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

• Khai báo kiểu dữ liệu structt t Nh Vistruct Nhan_Vien

{public string Ma_so;

public string Ho_ten;

public date Ngay_sinh;

public double He so luong;

19

p _ _ g;

}

Page 20: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

• Khai báo biến nhân viên và gán các giá trịNhan_Vien nv;

nv.Ma_so = “A01”

nv.Ho_ten = “Hoàng Thị Ngọc”

nv.Ngay_sinh = DateTime.Parse(“1/24/1968”)

nv.He_so_luong = 2.0

20

Page 21: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

Cấu trúc (Structure)

• Hiển thị thông tin nhân viên ra màn hìnhMa_so.Text = nv1.Ma_so

Ho_ten.Text = nv1.Ho_ten

Ngay_sinh.Text = nv1.Ngay_sinh

He_so_luong.Text = nv1.He_so_luong

Gioi_tinh.Text = nv1.Gioi_tinh

21

Page 22: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 liệt kê (Enumerations) ể− Kiểu liệt kê là các ký hiệu có cùng một họ (có liên quan

với nhau) có các giá trị cố định.

− Kiểu liệt kê được dùng để cung cấp một danh sách chọnKiểu liệt kê được dùng để cung cấp một danh sách chọn lựa cho lập trình viên sử dụng

22

Page 23: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 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ếncho biến

23

Titles t = Titles.Dr;Console.WriteLine("{0}.", t); // Displays "Dr."

Page 24: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 liệt kê (Enumerations) ể ỉ ể ử− Lưu ý: khi khai báo kiểu liệt kê chỉ có thể sử dụng các

kiểu số nguyên như byte, sbyte, short, ushort, int, uint, long hoặc ulong.

24

Page 25: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ị ể ở ầ− 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 “ ; ”

25

Page 26: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ụ:Ví dụ:Nullable<bool> b = null;

// C# cho phép sử dụng ký hiệu thể hiện nhanh như saubool? b = null;

26

Page 27: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ị ế ể ử− Một biến có kiểu nullable cho phép sử dụng các thành

viên HasValue và Value. Bạn có thể sử dụng HasValueđể kiểm tra liệu có hay không một giá trị đã được thiết lập

− Ví dụ:if (b.HasValue)

Console.WriteLine("b is {0}.", b.Value);else

Console WriteLine("b is not set ");

27

Console.WriteLine( b is not set. );

Page 28: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 tạo và sử dụng các kiểu dữ liệuCá kiể iá t ị (V l T )− Các kiểu giá trị (Value Types)

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

28

Page 29: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 tham chiếu (Reference Types)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

29

Page 30: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 tham chiếu được xây dựng sẵnThờ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à garbagecollection. 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òndự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ừ

System.ValueType)

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

30

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

Page 31: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 tham chiếu được xây dựng sẵnCá kiể th hiế th ờ dù

Kiểu Ý nghĩa sử dụngể ổ

− 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 textSystem.Text.StringBuilder Dữ liệu dạng Dynamic text

System.Array Mảng dữ liệu

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

31

System.Exception Kiểm soát hệ thống và trình ứng dụng

Page 32: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử dụng string và StringBuilderVí dụ sử dụng string:− Ví dụ sử dụng string:

string s = "this is some text to search";s = s.Replace("search", "replace");p ( , p );Console.WriteLine(s);

− Khi có bất kỳ sửa đổi đối với chuỗi tại thời điểm vận hành sẽ ỳtạo nên một chuỗi mới và bỏ đi chuỗi cũ

32

Page 33: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử dụng string và StringBuilderĐ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 yConsole.WriteLine(s);

− Chỉ chuỗi sau cùng là có một tham chiếu; ba chuỗi kia sẽ được dispose khi công cụ thu gom rác làm việc (garbage

33

được dispose khi công cụ thu gom rác làm việc (garbage collection)

Page 34: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử dụng string và StringBuilderViệ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: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ó thể biến đổi - mutable)

34

Page 35: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử dụng string và StringBuilder

− Đoạn mã lệnh sau đây giải thích cách sử dụng StringBuilderSystem.Text.StringBuilder sb = new System.Text.StringBuilder(30);sb.Append("wombat"); // Build string.sb.Append(" kangaroo");sb.Append(" wallaby");sb.Append(" koala");sb.Append( koala );string s = sb.ToString(); // Copy result to string.Console.WriteLine(s);

35

Page 36: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 ể ổ ầ ấ ể ể− Chuyển đổi ngầm định: C# chấp nhận sự chuyển kiểu

ngầm định nếu kiểu đích có thể thích hợp với tất cả các giá trị có thể nhận từ kiểu nguồn.

− Ví dụ:

int i = 1;int i 1;double d = 1.0001;d = i; // Sự chuyển đổi được chấp nhận.

36

Page 37: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 ể ổ ấ ả ế ả− Chuyển đổi tường minh: tất cả các biến trong C# phải

được khai báo kiểu một cách rõ ràng, và trình biên dịch kiểm tra tính nhất quán về kiểu của biểu thức.q

− 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:operator), nó có dạng:

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

37

Page 38: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 − Ví dụ:

long L;L = 32769;L = 32769;int I = (int) L;

38

Page 39: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 ế ể ổ ể− Cơ chế Boxing và Unboxing: boxing chuyển đổi một kiểu

giá trị tới một kiểu tham chiếu, và unboxing chuyển đổi một kiểu tham chiếu tới một kiểu giá trị.g

− Ví dụ:

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

object j = 123;i t k (i t) j // hế b i

39

int k = (int) j; // cơ chế unboxing

Page 40: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 toán tử as: toán tử as cũng được dùng giống

như ép kiểu với một số lưu ý:

• Toán tử as phải được sử dụng với kiểu tham chiếu Ví dụ:Toán tử as phải được sử dụng với kiểu tham chiếu. Ví dụ:

int j;object i = "35";j = i as int ;

=> Đoạn lệnh trên sẽ xảy ra lỗi do int là kiểu giá trị

40

Page 41: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 toán tử as: toán tử as cũng được dùng giống

như ép kiểu với một số lưu ý:

• Nếu không thể chuyển đổi kiểu nó sẽ trả về giá trị null VíNếu không thể chuyển đổi kiểu, nó sẽ trả về giá trị null. Ví dụ:

string j;bj t i "35"object i = "35";

j = i as string ;if (j == null)

Console.WriteLine("i không phải là chuỗi");

41

( g p );else

Console.WriteLine("i là chuỗi");

Page 42: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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: chọn thưc đơn view Object Browser)

42

Page 43: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

43

Page 44: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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:

• Ví dụ 1: chuyển đổi từ kiểu số thực sang kiểu số nguyên

d bl S Th 23 1double SoThuc = 23.15;try{

int SoNguyen = System.Convert.ToInt32(SoThuc);int SoNguyen System.Convert.ToInt32(SoThuc);}

catch (System.OverflowException){

S t C l W it Li ("Lỗi d ố ầ h ể lớ h biế

44

System.Console.WriteLine("Lỗi do số cần chuyển lớn hơn biến chứa kết quả chuyển.");}

Page 45: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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:

• Ví dụ 2: chuyển đổi từ kiểu số thực sang kiểu chuỗi

d bl S Th 23 15double SoThuc = 23.15;string strNumber = System.Convert.ToString(SoThuc);

45

Page 46: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

D Ti NDateTime Ngay;Ngay = DateTime.Parse(“01/25/2008”);

• Ví dụ 2: chuyển đổi số nguyên sang số thựcụ y g y g ự

double SoThuc;Int SoNguyen = 3; SoThuc = double Parse(SoNguyen);

46

SoThuc = double.Parse(SoNguyen);

Page 47: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ĩnhG 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.

Các định dạng này được viết sau dấu hai chấm sau ký hiệu đánh dấu

47

({0:C}, {1:d}, {2:X},…).

Page 48: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 Frameworkcơ bản của .NET Framework

• Tổng quan về .NET Framework• Các kiểu dữ liệu• Biến và hằng• Các toán tử

48

Page 49: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

Biến và Hằng

• Khái niệm• Cách khai báo

49

Page 50: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

Biến và Hằng• Khái niệm• Khái niệm−Biến là đối tượng dùng để lưu trữ tạm thời các giá trị trong

quá trình xử lý tính toánquá trình xử lý tính toán

−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ụ:• So_a, So_b: các biến lưu giá trị 2 số a và b• K t biế l kết ả á hé tí h

50

• Ket_qua: biến lưu kết quả các phép tính• Pi: hằng số lưu giá trị 3.1415 (hằng số Pi)

Page 51: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

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 (#, $, %, +, -, …)• Không bắt đầu bằng số

51

g g

Page 52: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

Biến và Hằng• Cá h kh i bá biế• Cách khai báo biến− Cú pháp: Kiểu_dữ_liệu Tên_biến;

− Ví dụ:• int tuoi;• t i di hi• string dia_chi;• double luong;

−Gán giá trị cho biến: Tên biến = giá trị;Gán giá trị cho biến: Tên_biến = giá trị;• Ví dụ: tuoi = 15;

−Chú ý: có thể khai báo và khởi tạo giá trị cho biến cùng lúc

52

Chú ý: có thể khai báo và khởi tạo giá trị cho biến cùng lúc.• Ví dụ: string ho_ten = “Nguyễn Văn An”;

Page 53: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

Biến và Hằng• Đặc điểm• Đặc điểm−Kiểu dữ liệu khai báo biến trong C# đều là kiểu đối tượng

ỗ ể ố ề è−Mỗi kiểu đối tượng đều đi kèm:• Thuộc tính (property)• Phương thức (method)• Phương thức (method)

53

Page 54: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

Biến và Hằng• Đặ điể• Đặc điểm−Sau khi khai báo kiểu dữ liệu và gán giá trị cho biến, có thể

truy xuất:truy xuất:• 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 độngg ợ g ự ệ ộ g

Ví dụ:int So a = int.Parse(txtSo a.Text);_ ( _ );

MessageBox.Show(“Số a: ” + So_a.ToString());

54

Page 55: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

Biến và Hằngằ• Cách khai báo hằng

−Cú pháp

const Kiểu_dữ_liệu Tên_hằng = Giá trị;

−Ý nghĩa• const: từ khoá khai báo hằng số

−Ví dụ:const double PI = 3.14;

55

Page 56: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 Frameworkcơ bản của .NET Framework

• Tổng quan về .NET Framework• Các kiểu dữ liệu• Biến và hằng• Các toán tử

56

Page 57: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử gán• Toán tử luận lý• Toán tử so sánh• Toán tử số học• Toán tử dịch chuyển bit• Toán tử dịch chuyển bit• Kiểm tra kiểu dữ liệu

57

Page 58: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử số học• Toán tử số học

• Toán tử nối chuỗi

58

Page 59: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử gán• Toán tử gán

59

Page 60: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử gán• Toán tử gán−Ví dụ 1: phép gán các giá trị đơn lẻ

int a b c;int a, b, c;a = 1; // OK.b = a; // OK.

// ỗ ế hả đ khở ớ kh ử da = 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.

60

Page 61: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử 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 id1 = new Id( Frank , 1);Id id2 = new Id("Emma", 2);id2 = id1;

61

Page 62: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử gán• Toán tử gán−Ví dụ 3: phép gán với đồng thời nhiều phép gán

int a b c;int a, b, c;a = 1; b = 1; c = 1;

ó hể đ ả hà h ộ â lệ h ớ h ề hé áCó thể được giảm thành một câu lệnh với nhiều phép gán:a = b = c = 1

62

Page 63: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử gán• Toán tử gán−Toán tử kết hợp Null

bool? a = true;bool? a = true;bool? b = false;object c = null;C (“|{ }|{ }|{ }|{ }|” ?? ?? ??Console.WriteLine(“|{0,4}|{1,4}|{2,4}|{3,4}|”, a ?? b, a ?? c, c ?? b,

c ?? c);

Kết quả xuất ra màn hình:

63

Page 64: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

64

Page 65: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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−Bảng chân trị:Bảng chân trị:

a b !a a && b a || btrue true false true truetrue false false false truefalse true true false truefalse false true false falsefalse false true false false

65

Page 66: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ụ:

−Kết quả xuất ra màn hình:

66

Page 67: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử logic

Tên Ký hiệu Ý nghĩaTên Ký hiệu Ý nghĩaLogical NOT ~a Phép đảo giá trị bitLogical AND a & b Trả về 1 nếu cả hai bit đều là 1, ngược

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

lại trả về 1Logical XOR a ^ b Trả về 1 nếu và chỉ nếu một trong haiLogical 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

67

Page 68: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử logic−Bảng chân trị của các toán tử logic

a b ~a a & b a | b a ˆ b1 1 0 1 1 01 1 0 1 1 01 0 0 0 1 10 1 1 0 1 10 0 1 0 0 0

68

Page 69: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

Các toán tử• T á tử hé hé á l i• Toán tử ghép phép gán logic

Tên Ký hiệu Ý nghĩaLogic ghép AND b &= a b = (Type) (b & (a))Logic ghép OR b |= a b = (Type) (b | (a))g g p | ( yp ) ( | ( ))Logic ghép XOR b ˆ= a b = (Type) (b ˆ (a))

69

Page 70: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

70

Page 71: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử dịch chuyển bit

Tên Ký hiệu Ý nghĩaTên Ký hiệu Ý nghĩa

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ịchvớ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

71

Page 72: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

Tên Ký hiệu Ý nghĩaTên Ký hiệu Ý nghĩa

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

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

72

Page 73: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử dịch chuyển bit−Ví dụ:

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

73

Page 74: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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 đượchậ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--a a = a – 1

int b = 6;int b = 6;int a = ++b; // a = 7, b = 7a = b++; // a = 7, b = 8++b; // a = 7, b = 9

74

; // ,a = - -b; // a = 8, b = 8a = b- -; // a = 8, b = 7

Page 75: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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) −Ví dụ:

−Kết quả xuất ra màn hình:

75

Kết quả xuất ra màn hình:

Page 76: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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ử: is và as.

−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à nullhoặc boxing/unboxing ngầm định. Nếu Biểu_thức là null

Kết_quả_kiểm là false.

76

Page 77: Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C#

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

TRUNG TÂM TIN HỌC

77