SlideShare a Scribd company logo
1 of 77
Download to read offline
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
1
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 -
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
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
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
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
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
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
T á ô ữ 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
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
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 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
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ệ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)
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á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
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
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
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 y
System.Byte/byte 1 byte 0 255
System.Short/short 2 bytes -32768 32767
System Integer/int 4 bytes 2147483648 2147483647System.Integer/int 4 bytes -2147483648 2147483647
System.UInteger/uint 4 bytes 0 4294967295
System.Long/long 8 bytes -9223372036854775808
92233720368547758079223372036854775807
System.Single/float 4 bytes -3.402823E+38 3.402823E+38
System.Double/double 8 bytes -1.79769313486232E+308
1 79769313486232E 3081.79769313486232E+308
System.Decimal/decimal 16 bytes -79228162514264337593543950335
79228162514264337593543950335
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.Char/char 2 bytes N/Ay
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êny 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 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
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
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
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
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 struct
t 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;
}
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
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ình
Ma_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
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
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."
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
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
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ư sau
bool? b = null;
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ị
ế ể ử− 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. );
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ệ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)
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á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
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ẵn
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ò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:
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ẵn
Cá 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
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
Ví 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
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 y
Console.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)
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
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: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
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 StringBuilder
System.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
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
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
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
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
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
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");
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
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
43
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.");
}
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
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);
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},…).
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
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
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)
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
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”;
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
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
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
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
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
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
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
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
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
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
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
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
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 || b
true true false true true
true false false false true
false true true false true
false false true false falsefalse false true false false
65
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
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ĩa
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ề 0lạ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 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
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 ˆ b
1 1 0 1 1 01 1 0 1 1 0
1 0 0 0 1 1
0 1 1 0 1 1
0 0 1 0 0 0
68
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ĩa
Logic 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
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
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
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
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
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 = 7
a = b++; // a = 7, b = 8
++b; // a = 7, b = 9
74
; // ,
a = - -b; // a = 8, b = 8
a = b- -; // a = 8, b = 7
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:
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
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
77

More Related Content

What's hot (8)

Oop unit 13 tổng quan về uml
Oop unit 13 tổng quan về umlOop unit 13 tổng quan về uml
Oop unit 13 tổng quan về uml
 
Phân tích
Phân tíchPhân tích
Phân tích
 
Bai5kethuadahinh 130622091400-phpapp02
Bai5kethuadahinh 130622091400-phpapp02Bai5kethuadahinh 130622091400-phpapp02
Bai5kethuadahinh 130622091400-phpapp02
 
Bài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverBài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL server
 
Co so du lieu t sql
Co so du lieu t sqlCo so du lieu t sql
Co so du lieu t sql
 
Chapter 3 (cont)
Chapter 3 (cont)Chapter 3 (cont)
Chapter 3 (cont)
 
báo cáo tuần 1
báo cáo tuần 1báo cáo tuần 1
báo cáo tuần 1
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
 

Viewers also liked

Bai 22 ga tiet 1
Bai 22 ga tiet 1Bai 22 ga tiet 1
Bai 22 ga tiet 1
itpicachu
 
2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slides2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slides
MasterCode.vn
 
Pplthdt c00 gioi_thieumonhoc_v13.09a
Pplthdt c00 gioi_thieumonhoc_v13.09aPplthdt c00 gioi_thieumonhoc_v13.09a
Pplthdt c00 gioi_thieumonhoc_v13.09a
Pix Nhox
 

Viewers also liked (20)

Bài 6 - Quản lý ứng dụng web asp.net
Bài 6 - Quản lý ứng dụng web asp.netBài 6 - Quản lý ứng dụng web asp.net
Bài 6 - Quản lý ứng dụng web asp.net
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Bai 22 ga tiet 1
Bai 22 ga tiet 1Bai 22 ga tiet 1
Bai 22 ga tiet 1
 
2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slides2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slides
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 
Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#
Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#
Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#
 
Bài 3 - Điều khiển kiểm tra dữ liệu
Bài 3 - Điều khiển kiểm tra dữ liệuBài 3 - Điều khiển kiểm tra dữ liệu
Bài 3 - Điều khiển kiểm tra dữ liệu
 
J query khtn
J query khtnJ query khtn
J query khtn
 
Bài 3 - Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
Bài 3 -  Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#Bài 3 -  Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
Bài 3 - Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
 
Bài 4 Làm việc với báo cáo cơ bản - Giáo trình FPT
Bài 4 Làm việc với báo cáo cơ bản - Giáo trình FPTBài 4 Làm việc với báo cáo cơ bản - Giáo trình FPT
Bài 4 Làm việc với báo cáo cơ bản - Giáo trình FPT
 
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
Bài 7: Đối tượng Data Source -Đóng gói ứng dụng - Giới thiệu các kĩ thuật lập...
 
Bài 5 Làm việc với báo cáo nâng cao - Giáo trình FPT
Bài 5 Làm việc với báo cáo nâng cao - Giáo trình FPTBài 5 Làm việc với báo cáo nâng cao - Giáo trình FPT
Bài 5 Làm việc với báo cáo nâng cao - Giáo trình FPT
 
Bài 6 - Interface - Nền tảng lập trình ứng dụng với C#
Bài 6 - Interface - Nền tảng lập trình ứng dụng với C#Bài 6 - Interface - Nền tảng lập trình ứng dụng với C#
Bài 6 - Interface - Nền tảng lập trình ứng dụng với C#
 
Pdf bai 4 làm việc với báo cáo cơ bản-slide 04-quan tri csdl voi access-maste...
Pdf bai 4 làm việc với báo cáo cơ bản-slide 04-quan tri csdl voi access-maste...Pdf bai 4 làm việc với báo cáo cơ bản-slide 04-quan tri csdl voi access-maste...
Pdf bai 4 làm việc với báo cáo cơ bản-slide 04-quan tri csdl voi access-maste...
 
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTBài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
 
Bài 5 - Web User Controls Asp.net
Bài 5 - Web User Controls Asp.netBài 5 - Web User Controls Asp.net
Bài 5 - Web User Controls Asp.net
 
Bài 7: Làm việc với truy vấn nâng cao - Giáo trình FPT
Bài 7: Làm việc với truy vấn nâng cao - Giáo trình FPTBài 7: Làm việc với truy vấn nâng cao - Giáo trình FPT
Bài 7: Làm việc với truy vấn nâng cao - Giáo trình FPT
 
Bài 6 Làm việc với truy vấn cơ bản - Giáo trình FPT
Bài 6 Làm việc với truy vấn cơ bản - Giáo trình FPTBài 6 Làm việc với truy vấn cơ bản - Giáo trình FPT
Bài 6 Làm việc với truy vấn cơ bản - Giáo trình FPT
 
Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#
Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#
Bài 1 - Kiến thức cơ bản về SQL Server - Công nghệ ADO.NET với C#
 
Pplthdt c00 gioi_thieumonhoc_v13.09a
Pplthdt c00 gioi_thieumonhoc_v13.09aPplthdt c00 gioi_thieumonhoc_v13.09a
Pplthdt c00 gioi_thieumonhoc_v13.09a
 

Similar to 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#

Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02
nguyen minh
 
13929219602082.ppt
13929219602082.ppt13929219602082.ppt
13929219602082.ppt
minh dang
 
Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại học
Chu TheKop
 
Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệu
trieulongweb
 
Bai giang thnc phan acccess
Bai giang thnc phan acccessBai giang thnc phan acccess
Bai giang thnc phan acccess
Nga Hà
 
Giáo trình vb.net
Giáo trình vb.netGiáo trình vb.net
Giáo trình vb.net
Hung Pham
 
Giao trinh-co-so-du-lieu
Giao trinh-co-so-du-lieuGiao trinh-co-so-du-lieu
Giao trinh-co-so-du-lieu
Anh Ta
 
Giáo trình cơ sở dữ liệu, Phan Tấn Quốc.pdf
Giáo trình cơ sở dữ liệu, Phan Tấn Quốc.pdfGiáo trình cơ sở dữ liệu, Phan Tấn Quốc.pdf
Giáo trình cơ sở dữ liệu, Phan Tấn Quốc.pdf
Man_Ebook
 
Phan 2 chuong 9 (cau truc)
Phan 2   chuong 9 (cau truc)Phan 2   chuong 9 (cau truc)
Phan 2 chuong 9 (cau truc)
Trần Văn Nam
 

Similar to 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# (20)

Bai giang he qtdl
Bai giang he qtdlBai giang he qtdl
Bai giang he qtdl
 
Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02
 
Giáo Trình Môn Đặc Tả Hình Thức-ICTU
Giáo Trình Môn Đặc Tả Hình Thức-ICTUGiáo Trình Môn Đặc Tả Hình Thức-ICTU
Giáo Trình Môn Đặc Tả Hình Thức-ICTU
 
Các mô hình dữ liệu
Các mô hình dữ liệuCác mô hình dữ liệu
Các mô hình dữ liệu
 
13929219602082.ppt
13929219602082.ppt13929219602082.ppt
13929219602082.ppt
 
Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại học
 
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.comBài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
 
Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệu
 
Bai giang thnc phan acccess
Bai giang thnc phan acccessBai giang thnc phan acccess
Bai giang thnc phan acccess
 
Dotnet
DotnetDotnet
Dotnet
 
Gioi_thieu_mon_hoc CSDLNC.pptx
Gioi_thieu_mon_hoc CSDLNC.pptxGioi_thieu_mon_hoc CSDLNC.pptx
Gioi_thieu_mon_hoc CSDLNC.pptx
 
Chương 1 . Khái niệm chung về CSDL.pdf
Chương 1 . Khái   niệm chung về CSDL.pdfChương 1 . Khái   niệm chung về CSDL.pdf
Chương 1 . Khái niệm chung về CSDL.pdf
 
Db 03
Db 03Db 03
Db 03
 
Ctdl c1
Ctdl c1Ctdl c1
Ctdl c1
 
Giáo trình vb.net
Giáo trình vb.netGiáo trình vb.net
Giáo trình vb.net
 
Giao trinh-co-so-du-lieu
Giao trinh-co-so-du-lieuGiao trinh-co-so-du-lieu
Giao trinh-co-so-du-lieu
 
Giáo trình cơ sở dữ liệu, Phan Tấn Quốc.pdf
Giáo trình cơ sở dữ liệu, Phan Tấn Quốc.pdfGiáo trình cơ sở dữ liệu, Phan Tấn Quốc.pdf
Giáo trình cơ sở dữ liệu, Phan Tấn Quốc.pdf
 
OOP_Bai13(vi).pdf
OOP_Bai13(vi).pdfOOP_Bai13(vi).pdf
OOP_Bai13(vi).pdf
 
Phan 2 chuong 9 (cau truc)
Phan 2   chuong 9 (cau truc)Phan 2   chuong 9 (cau truc)
Phan 2 chuong 9 (cau truc)
 
Chuong trinh hoc phan phan tich thiet ke httt
Chuong trinh hoc phan phan tich thiet ke htttChuong trinh hoc phan phan tich thiet ke httt
Chuong trinh hoc phan phan tich thiet ke httt
 

More from MasterCode.vn

Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
MasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
MasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
MasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
MasterCode.vn
 

More from MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
 

Recently uploaded

xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
Xem Số Mệnh
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
ltbdieu
 

Recently uploaded (20)

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT HÓA HỌC 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT HÓA HỌC 2024 - TỪ CÁC TRƯỜNG, TRƯ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT HÓA HỌC 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT HÓA HỌC 2024 - TỪ CÁC TRƯỜNG, TRƯ...
 
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
 
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
 
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
 
PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...
PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...
PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...
 
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
 
các nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emcác nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ em
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
 
Trích dẫn theo Harvard với Microsoft Word
Trích dẫn theo Harvard với Microsoft WordTrích dẫn theo Harvard với Microsoft Word
Trích dẫn theo Harvard với Microsoft Word
 
Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3
Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3
Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phương
 
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - TỪ CÁC TRƯỜNG, ...
 
TIỂU LUẬN MÔN PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
TIỂU LUẬN MÔN PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌCTIỂU LUẬN MÔN PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
TIỂU LUẬN MÔN PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdfxemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
 

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#

  • 1. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 1
  • 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 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 -
  • 3. 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
  • 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 • Kiến trúc của .NET Framework 4
  • 5. 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
  • 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 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
  • 7. 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
  • 8. 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 T á ô ữ 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
  • 9. 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 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 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
  • 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ách tạo và sử dụng 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) 10
  • 11. 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
  • 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) 12
  • 13. 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
  • 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/sbyte 1 byte -128 127y y y y System.Byte/byte 1 byte 0 255 System.Short/short 2 bytes -32768 32767 System Integer/int 4 bytes 2147483648 2147483647System.Integer/int 4 bytes -2147483648 2147483647 System.UInteger/uint 4 bytes 0 4294967295 System.Long/long 8 bytes -9223372036854775808 92233720368547758079223372036854775807 System.Single/float 4 bytes -3.402823E+38 3.402823E+38 System.Double/double 8 bytes -1.79769313486232E+308 1 79769313486232E 3081.79769313486232E+308 System.Decimal/decimal 16 bytes -79228162514264337593543950335 79228162514264337593543950335 14
  • 15. 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/Ay 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êny 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 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
  • 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 (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
  • 17. 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
  • 18. 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
  • 19. 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 struct t 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; }
  • 20. 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
  • 21. 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ình Ma_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
  • 22. 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
  • 23. 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."
  • 24. 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
  • 25. 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
  • 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ụ:Ví dụ: Nullable<bool> b = null; // C# cho phép sử dụng ký hiệu thể hiện nhanh như sau bool? b = null; 26
  • 27. 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. );
  • 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ách tạo và sử dụng 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) 28
  • 29. 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
  • 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 • Các kiểu tham chiếu được xây dựng sẵn 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ò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:
  • 31. 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ẵn Cá 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
  • 32. 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 Ví 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
  • 33. 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 y Console.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)
  • 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 • Sử dụng string và StringBuilder 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: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
  • 35. 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 StringBuilder System.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
  • 36. 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
  • 37. 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
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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");
  • 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: chọn thưc đơn view Object Browser) 42
  • 43. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 43
  • 44. 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."); }
  • 45. 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
  • 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 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);
  • 47. 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},…).
  • 48. 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
  • 49. 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
  • 50. 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)
  • 51. 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
  • 52. 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”;
  • 53. 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
  • 54. 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
  • 55. 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
  • 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 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
  • 57. 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
  • 58. 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
  • 59. 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
  • 60. 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
  • 61. 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
  • 62. 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
  • 63. 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
  • 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 64
  • 65. 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 || b true true false true true true false false false true false true true false true false false true false falsefalse false true false false 65
  • 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ụ: −Kết quả xuất ra màn hình: 66
  • 67. 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ĩa 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ề 0lạ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 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
  • 68. 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 ˆ b 1 1 0 1 1 01 1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 0 68
  • 69. 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ĩa Logic 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
  • 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 70
  • 71. 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
  • 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 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
  • 73. 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
  • 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 đượ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 = 7 a = b++; // a = 7, b = 8 ++b; // a = 7, b = 9 74 ; // , a = - -b; // a = 8, b = 8 a = b- -; // a = 8, b = 7
  • 75. 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:
  • 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ử: 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
  • 77. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 77