object Object Kiểu dữ liệu object dựa trên System.Object của .NET Framework.. Bạn có thể gán trị thuộc bất cứ kiểu dữ liệu nào lên biến kiểu object.. Chuyển đổi kiểu dữ liệu. Hai cách
Trang 1Ngôn ngữ C#
Trần Văn Tèo tvteo@agu.edu.vn
Trang 2Chương 2: Căn bản Ngôn ngữ C#
Kiểu dữ liệu (Type)
Biến (Variable) và Hằng (Constant)
Trang 3Kiểu dữ liệu (Type).
C# là một ngôn ngữ kiểm soát chặt chẽ về mặt kiểu dữ liệu.
Hai nhóm kiểu dữ liệu: bẩm sinh (build-in), tự tạo
Trang 4Kiểu dữ liệu (Type).
Type (bytes) Size .NET type Description
byte 1 Byte Unsigned (trị 0-255).
char 2 Char Unicode ký tự.
bool 1 Boolean True or false.
sbyte 1 Sbyte Signed (trị -128 to 127).
short 2 Int16 Signed (short) (trị -32,768 to 32,767).
ushort 2 UInt16 Unsigned (short) (trị 0 to 65,535).
int 4 Int32 Số nguyên có dấu (signed) Trị từ -2,147,483,648 đến 2,147,483,647.
uint 4 UInt32 Số nguyên không dấu (Unsigned) Trị từ 0 đến 4,294,967,295.
float 4 Single 3.4 x 10 38 với 7 số có ý nghĩa.
double 8 Double 1.8 x 10 308 với 15-16 số có ý nghĩa.
Trang 5Kiểu dữ liệu (Type).
long 8 Int64 Số nguyên có dấu, trị từ -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807.
ulong 8 UInt64 Số nguyên không dấu, trị từ 0 đến 0xffffffffffffffff.
object Object Kiểu dữ liệu object dựa trên System.Object của NET Framework Bạn có thể gán trị thuộc bất cứ kiểu dữ liệu
nào lên biến kiểu object Thuộc kiểu qui chiếu.
string String Kiểu string tượng trưng cho một chuổi ký tự Unicode string là một alias đối với System.String trên NET Framework
Thuộc kiểu qui chiếu.
Trang 6Chuyển đổi kiểu dữ liệu.
Hai cách chuyển đổi: ngầm (implicit), tường minh (explicit).
Chuyển đổi ngầm (implicit):
• Chuyển đổi ngầm sẽ tự động được thực hiện và bảo đảm không mất
thông tin.
Ví dụ: short x = 5; int y = x;
Chuyển đổi tường minh (explicit).
• Có những chuyển đổi ngầm không thể thực hiện được và để chuyển
đổi thì phải ép kiểu (cast).
Ví dụ: short x; int y = 500; x = (short)y;
• Khi ép kiểu có thể sẽ gây ra nếu không kiểm soát được giá trị của
chúng.
Ví dụ: int y = 35.000; short x = (short) y;
Trang 7Biến (Variable)
Cú pháp khai báo một biến:
[modifier] datatype identifier;
modifier là một trong những từ khóa: public,
private, protected, …
datatype là kiểu dữ liệu (int, long,…)
identifier là tên biến
Có thể khai báo và khởi gán nhiều biến cùng một
lúc, với điều kiện các biến thuộc cùng một datatype
và cùng một modifier
Ví dụ: public static int x = 10, y =20//đúng
public int x = 10, private byte y = 20;//sai
Trang 8• Phải có từ khóa const.
• Phải được gán lúc khai báo.
• Không thể gán hằng từ một trị của một biến.
• Luôn là static nhưng không dùng từ khóa static
khi khai báo
Trang 9Hằng (Constant)
Ưu điểm:
• Dễ đọc chương trình, bằng cách thay thế các con
số mang bởi những tên đầy ý nghĩa
• Dễ sửa chương trình, bằng cách chỉ một lần thay
đổi giá trị của hằng
• Tránh lỗi dễ dàng hơn Nếu gán lại giá trị cho
hằng thì chương trình sẽ báo lỗi ngay
Các loại hằng: literals, symbolic constant, enumeration.
Trang 10Enumeration (Liệt kê)
Là một tập hợp những hằng được đặt tên.
Là một kiểu dữ liệu số nguyên tự tạo.
Cú pháp:
[atrributes][modifiers] enum identifier [:base-type] {enumerator-list};
• base-type là bất kỳ kiểu dữ liệu nào là số (ngoại trừ char).
• anumerator-list là danh sách các hằng, mỗi hằng có một trị số, cách
nhau bằng dấu phẩy Nếu phần phần tử không có trị số thì hằng đầu tiên có giá trị là 0, hằng đi sau sẽ tăng lên 1 so với trị của hằng trước
• Ví dụ: enum SomeValues{
First, Second, Third = 20, Fourth
};
Trang 11Phạm vi hoạt động của biến
Trang 12• Các ký tự trắng (space), khoảng trắng canh cột (tab),
dòng mới (newline) đều được gọi là khoảng trắng (whitespace)
• C# làm lơ đi các khoảng trắng trong các câu lệnh.
Trang 14Câu lệnh if…else
Cú pháp:
if (condition-expression)
statement1[else
Trang 15case one:
Console.WriteLine("1"); break ;
case 2:
Console.WriteLine("2"); break ;
case 3:
Console.WriteLine(“3"); goto case 2;
default:
Console.WriteLine(“4"); break ;
Trang 19Lệnh goto
Cho phép nhảy trực tiếp đến một câu lệnh được đánh dấu bởi
một nhản (Label).
Không thể nhảy vào một khối đoạn mã chẳng hạn vòng lặp for.
Không thể nhảy ra khỏi một lớp hoặc một khối fianlly
if (number % 2 == 0) goto Even;
Trang 20Lệnh break và continue
Trang 21Q & A