Giới thiệu về .NET và Visual Studio
Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C#
Kiểu dữ liệu
Toán tử
Thao tác với chuỗi
Cấu trúc điều khiển
Phương thức
Xử lý ngoại lệ
Mục tiêu bài học
Giới thiệu về .NET và Visual Studio
Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C#
Kiểu dữ liệu
Toán tử
Thao tác với chuỗi
Cấu trúc điều khiển
Phương thức
Xử lý ngoại lệ
2. Giới thiệu về .NET và Visual Studio
Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C#
Kiểu dữ liệu
Toán tử
Thao tác với chuỗi
Cấu trúc điều khiển
Phương thức
Xử lý ngoại lệ
Mục tiêu bài học
Giới thiệu về .NET và Visual Studio
Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C#
Kiểu dữ liệu
Toán tử
Thao tác với chuỗi
Cấu trúc điều khiển
Phương thức
Xử lý ngoại lệ
Làm quen với C# 2
3. Windows Forms là ứng dụng có giao diện đồ họa chạy trên hệ
điều hành Windows
Windows Forms là ứng dụng chạy trên máy tính của người
dùng
Khác với Web Forms là ứng dụng chạy trên Web Forms. Khi ứng
dụng chạy thì hiển thị kết quả lên trình duyệt
Windows Forms là một phần của kiến trúc .NET
Ứng dụng Windows Forms
Windows Forms là ứng dụng có giao diện đồ họa chạy trên hệ
điều hành Windows
Windows Forms là ứng dụng chạy trên máy tính của người
dùng
Khác với Web Forms là ứng dụng chạy trên Web Forms. Khi ứng
dụng chạy thì hiển thị kết quả lên trình duyệt
Windows Forms là một phần của kiến trúc .NET
Làm quen với C# 3
4. Kiến trúc .NET
.NET Appliations
Visual Basic Visual C# Visual C++ Visual F#
.NET Framework
.NET Framework Class Library
Các lớp Windows Forms Các lớp ASP.NET Các lớp
khác
Làm quen với C# 4
.NET Framework Class Library
Các lớp Windows Forms Các lớp ASP.NET Các lớp
khác Common Language Runtime
Ứng dụng được quản lý Hệ thống kiểu thông dụng Ngôn ngữ trung
gian
Hệ điều hành và phần cứng
Windows XP Windows Vista Windows 7 Các hệ điều hành khác
5. Ứng dụng Windows Forms không truy cập hệ điều hành hay phần
cứng máy tính trực tiếp mà thông qua các dịch vụ của .NET
Framework
.NET Framework gồm hai thành phần chính:
.NET Framework Class Library
Common Language Runtime
.NET Framework
Làm quen với C# 5
6. .NET Framework Class Library bao gồm thư viện các đoạn mã được
viết sẵn cung cấp các chức năng cần thiết khi lập trình.
Các lớp Windows Forms được sử dụng để phát triển ứng dụng
Windows Forms
Các lớp ASP.NET được sử dụng để phát triển các ứng dụng Web
Forms.
Những lớp khác hỗ trợ lập trình với CSDL, quản lý bảo mật, truy
xuất file
Các lớp của .NET Framework Class Library được tổ chức thành cấu
trúc phân nhóm
Các lớp liên quan đến nhau được gom thành một nhóm gọi là
namespace
Mỗi namespace bao gồm các lớp được sử dụng cho một chức năng cụ
thể
namespace System.Windows.Forms chứa các lớp sử dụng để tạo form
namespace System.Data chứa các lớp sử dụng để truy cập dữ liệu
.NET Framework Class Library
.NET Framework Class Library bao gồm thư viện các đoạn mã được
viết sẵn cung cấp các chức năng cần thiết khi lập trình.
Các lớp Windows Forms được sử dụng để phát triển ứng dụng
Windows Forms
Các lớp ASP.NET được sử dụng để phát triển các ứng dụng Web
Forms.
Những lớp khác hỗ trợ lập trình với CSDL, quản lý bảo mật, truy
xuất file
Các lớp của .NET Framework Class Library được tổ chức thành cấu
trúc phân nhóm
Các lớp liên quan đến nhau được gom thành một nhóm gọi là
namespace
Mỗi namespace bao gồm các lớp được sử dụng cho một chức năng cụ
thể
namespace System.Windows.Forms chứa các lớp sử dụng để tạo form
namespace System.Data chứa các lớp sử dụng để truy cập dữ liệu
Làm quen với C# 6
7. Common Language Runtime (CLR)
CIL code
Visual C#
Visual Basic
Visual C++
bộ biên dịch C#
bộ biên dịch VB
bộ biên dịch C++
MÃ MÁY
Mã nguồn Mã được quản lý Mã máy
CLR
bộ biên dịch F#
Làm quen với C# 7
Visual C++
Visual F#
bộ biên dịch C++
Giai đoạn biên dịch Giai đoạn chạy
Nguồn: Wikipedia 1
8. CLR (Môi trường quản lý việc thi hành mã) cung cấp các dịch vụ cần
thiết để chạy ứng dụng được viết bằng ngôn ngữ .NET
Tất cả các ngôn ngữ .NET đều được biên dịch thành ngôn ngữ
trung gian (common intermediate language – CIL) hay còn được gọi
là mã được quản lý
Tất cả các ứng dụng .NET đều được thực thi dưới sự dám sát của
CLR (quản lý bộ nhớ, thực thi code, bảo mật ….), nên còn được gọi
là ứng dụng được quản lý
CRL cung cấp Hệ thống kiểu chung (Common Type System) định
nghĩa kiểu mà sẽ được sử dụng bởi tất cả các ngôn ngữ .NET
Các chương trình viết bằng các ngôn ngữ .NET khác nhau có thể
tương tác được với nhau
Common Language Runtime (CLR)
CLR (Môi trường quản lý việc thi hành mã) cung cấp các dịch vụ cần
thiết để chạy ứng dụng được viết bằng ngôn ngữ .NET
Tất cả các ngôn ngữ .NET đều được biên dịch thành ngôn ngữ
trung gian (common intermediate language – CIL) hay còn được gọi
là mã được quản lý
Tất cả các ứng dụng .NET đều được thực thi dưới sự dám sát của
CLR (quản lý bộ nhớ, thực thi code, bảo mật ….), nên còn được gọi
là ứng dụng được quản lý
CRL cung cấp Hệ thống kiểu chung (Common Type System) định
nghĩa kiểu mà sẽ được sử dụng bởi tất cả các ngôn ngữ .NET
Các chương trình viết bằng các ngôn ngữ .NET khác nhau có thể
tương tác được với nhau
Làm quen với C# 8
9. Biên dịch và chạy một ứng dụng
Visual Studio
IDE Bộ biên dịch
.NET Framework
CLR
Hệ
điều
hành
5
Làm quen với C# 9
Solution
Project
File nguồn
Assembly
IL
Tham chiếu
đến các lớp
1 2 43
Ứng dụng
được triển
khai
10. Quá trình biên dịch
Sử dụng Visual Studio để tạo project (ứng dụng). Project gồm các
file mã nguồn, ngoài ra còn có file nhạc, ảnh, văn bản…
Biên dịch mã nguồn C# bằng bộ biên dịch mã. Kết quả sau khi biên
dịch là assembly
Assembly gồm
Ngôn ngữ trung gian (IL) được biên dịch từ file nguồn
Các tham chiếu đến các file thư viện mà ứng dụng gọi đến
Assembly có thể chạy trên PC được cài đặt CLR. Khi assembly được
chạy, CLR chuyển mã IL sang mã máy là mã có thể được chạy bằng
hệ điều hành
Biên dịch và chạy một ứng dụng
Quá trình biên dịch
Sử dụng Visual Studio để tạo project (ứng dụng). Project gồm các
file mã nguồn, ngoài ra còn có file nhạc, ảnh, văn bản…
Biên dịch mã nguồn C# bằng bộ biên dịch mã. Kết quả sau khi biên
dịch là assembly
Assembly gồm
Ngôn ngữ trung gian (IL) được biên dịch từ file nguồn
Các tham chiếu đến các file thư viện mà ứng dụng gọi đến
Assembly có thể chạy trên PC được cài đặt CLR. Khi assembly được
chạy, CLR chuyển mã IL sang mã máy là mã có thể được chạy bằng
hệ điều hành
Làm quen với C# 10
11. So sánh C# với các ngôn ngữ lập trình .NET khác
Giống
Cùng sử dụng chung các lớp .NET Framework
Tạo và làm việc với form, điều khiển, sử dụng csdl và làm việc trên
cùng một IDE Visual Studio
Khác:
Cú pháp
So sánh C# với Java
Giống:
Có cú pháp gần giống nhau
Khác
Framework
IDE
So sánh C# với các
ngôn ngữ lập trình .NET khác
So sánh C# với các ngôn ngữ lập trình .NET khác
Giống
Cùng sử dụng chung các lớp .NET Framework
Tạo và làm việc với form, điều khiển, sử dụng csdl và làm việc trên
cùng một IDE Visual Studio
Khác:
Cú pháp
So sánh C# với Java
Giống:
Có cú pháp gần giống nhau
Khác
Framework
IDE
Làm quen với C# 11
12. .NET ngày càng hoàn thiện và cung cấp nhiều tính năng cho người
dùng hơn
Visual Studio 2010 tích hợp .NET 4.0
Sự phát triển .NET FrameWork
Làm quen với C# 12
14. Visual Studio 2010
Visual Studio là một bộ sản phẩm gồm IDE và .NET Framework
IDE để phát triển ứng dụng
.NET Framework cung cấp môi trường thực thi ứng dụng
Môi trường phát triển tích hợp
(IDE – Integrated Development Environment)
Visual Studio 2010
Làm quen với C# 14
Môi trường phát triển tích hợp
(IDE – Integrated Development Environment)
.NET FRAMEWORK
15. Visual Studio 2010
Các phiên bản của Visual Studio 2010
Phiên bản Mô tả
Express Miễn phí, chỉ hỗ trợ một trong các ngôn ngữ .NET. Phù hợp cho sinh
viên.
Professional Phù hợp cho lập trình viên muốn phát triển các ứng dụng Window,
web hay mobile.
Premium Phù hợp với lập trình viên hay nhóm lập trình viên muốn phát triển
các ứng dụng có khả năng mở rộng. Phiên bản này bao gồm các công
cụ hữu ích cho việc lập trình như công cụ kiểm thử, công cụ triển
khai CSDL, công cụ quản lý thay đổi và công cụ quản lý vòng đời dự
án. Tuy nhiên các công cụ này chỉ được hỗ trợ ở mức cơ bản.
Làm quen với C# 15
Premium Phù hợp với lập trình viên hay nhóm lập trình viên muốn phát triển
các ứng dụng có khả năng mở rộng. Phiên bản này bao gồm các công
cụ hữu ích cho việc lập trình như công cụ kiểm thử, công cụ triển
khai CSDL, công cụ quản lý thay đổi và công cụ quản lý vòng đời dự
án. Tuy nhiên các công cụ này chỉ được hỗ trợ ở mức cơ bản.
Ultimate Thiết kế cho nhóm lập trình viên, hỗ trợ phiên bản đầy đủ của các
công cụ lập trình như công cụ kiểm thử, công cụ mô hình hóa, công
cụ CSDL và công cụ quản lý vòng đời dự án.
16. Ngôn ngữ và nền tảng
Những ngôn ngữ lập trình chính được hỗ trợ bởi Visual Studio 2010
Ngôn ngữ Mô tả
Visual Basic Được thiết kế để phát triển ứng dụng nhanh chóng.
Visual C# Kết hợp các đặc tính của java và C++ và phù hợp với phát triển ứng
dụng nhanh chóng.
Visual C++ Phiên bản nâng cấp của C++.
Visual F# Kết hợp lập trình chức năng, thủ tục và hướng đối tượng.
Làm quen với C# 16
Visual F# Kết hợp lập trình chức năng, thủ tục và hướng đối tượng.
Nền tảng có thể chạy Visual Studio 2010
Windows XP, Windows Vista, Windows 7 hoặc là những phiên bản mới hơn
Nền tảng có thể chạy ứng dụng được tạo bởi Visual Studio 2010
Windows 2000 hoặc mới hơn, phụ thuộc vào thành phần .NET nào mà ứng dụng sử
dụng
17. IDE có thể sử dụng để phát triển ứng dụng viết bằng bất cứ ngôn
ngữ nào trong 4 ngôn ngữ trên
.NET Framework cung cấp thư viện hỗ trợ cho cả 4 ngôn ngữ lập
trình
Khi cài đặt VisualStudio sẽ tự động cài SQL Server 2008 Express là
phiên bản thu gọn của Microsoft SQL Server 2008
Visual Studio 2010
Làm quen với C# 17
19. Cũng giống như VB, C# có hai kiểu dữ liệu
Dữ liệu kiểu giá trị
Tương ứng với kiểu Integer, Double… của Visual Basic
Dữ liệu kiểu tham chiếu
Tương ứng với kiểu String và Object … của Visual Basic
Kiểu dữ liệu
Kiểu giá trị Kiểu tham chiếu
Làm quen với C# 19
Kiểu giá trị Kiểu tham chiếu
20. Dữ liệu kiểu giá trị
C# keyword VB Bytes .NET type
(structure)
Mô tả
(Kiểu dữ liệu được hỗ trợ bởi .NET 4)
byte Byte 1 Byte Số nguyên dương từ 0 đến 255
sbyte SByte 1 Sbyte Số nguyên có dấu từ -128 đến 127
short Short 2 Int16 Số nguyên từ -32.768 đến 32.767
ushort UShort 2 UInt16 Số nguyên dương từ 0 đến 65.535
int Integer 4 Int32 Số nguyên từ -2.147.483.648 đến +2.147.483.647
Làm quen với C# 20
uint UInteger 4 UInt32 Số nguyên dương từ 0 đến 4.294.967.295
long Long 8 Int64 Số nguyên từ -9.223.327.036.854.775.808 đến
9.223.327.036.854.775.807
ulong ULong 8 UInt64 Số nguyên dương từ 0 đến 18.446.744.073.709.551.615
float Single 4 Single Số thập phân có 7 chữ số sau dấu phẩy
double Double 8 Double Số thập phân có 14 chữ số sau dấu phẩy
decimal Decimal 16 Decimal Số nguyên dương với 28 chữ số (gồm phần nguyên và
thập phân)
char Char 2 Char Ký tự Unicode
bool Boolean 1 Boolean Giá trị đúng (true) hay sai (false)
21. Dữ liệu kiểu giá trị bao gồm
Các kiểu dữ liệu lưu số
Lưu số nguyên: sbyte (1 byte), short (2 byte), int (4 byte), long
(8 byte)
Lưu số nguyên dương: byte (1), ushort (2), uint (4), ulong (8)
Lưu số thập phân: float (4), double (8), decimal (16)
Các kiểu dữ liệu lưu ký tự
char
Các kiểu dữ liệu lưu giá trị đúng sai
bool
Lưu ý rằng mỗi kiểu dữ liệu lưu một giải giá trị khác nhau nên tùy
vào trường hợp sử dụng để sử dụng kiểu dữ liệu phù hợp
Dữ liệu kiểu giá trị
Dữ liệu kiểu giá trị bao gồm
Các kiểu dữ liệu lưu số
Lưu số nguyên: sbyte (1 byte), short (2 byte), int (4 byte), long
(8 byte)
Lưu số nguyên dương: byte (1), ushort (2), uint (4), ulong (8)
Lưu số thập phân: float (4), double (8), decimal (16)
Các kiểu dữ liệu lưu ký tự
char
Các kiểu dữ liệu lưu giá trị đúng sai
bool
Lưu ý rằng mỗi kiểu dữ liệu lưu một giải giá trị khác nhau nên tùy
vào trường hợp sử dụng để sử dụng kiểu dữ liệu phù hợp
Làm quen với C# 21
22. C# keyword VB keyword .NET type (Class) Mô tả
string String String Tham chiếu đến đối tượng String
object Object Object Tham chiếu đến bất kỳ kiểu đối
tượng nào
Dữ liệu kiểu tham chiếu
Tham chiếu đến bất kỳ kiểu đối
tượng nào
Làm quen với C# 22
Kiểu string là kiểu object được định nghĩa trước
23. .NET định nghĩa các kiểu dữ liệu bởi Common Type System thuộc
CLR
Mỗi ngôn ngữ .NET sẽ có kiểu dữ liệu tương ứng với kiểu được định
nghĩa trong CTS
Sau khi biên dịch các kiểu này sẽ được chuyển về kiểu CTS tương
ứng
Kiểu dữ liệu
Mã nguồn Mã trung gian (CIL) Mã máy
Làm quen với C# 23
Integer
(CTS)
int
Integer
bộ biên dịch C#
bộ biên dịch VB
MÃ MÁY
Giai đoạn biên dịch Giai đoạn chạy
CLR
24. Khai báo và khởi tạo biến kiểu giá trị
Visual Basic
Khai báo và gán giá trị
Khai báo và gán giá trị trên cùng dòng
Khai báo và khởi tạo hằng
Visual C#
Dim tenBien As kieuBien
tenBien = giaTri
Dim x As Integer
x = 1
Dim tenBien As kieuBien = giaTri
Dim x As Integer = 1
Khai báo và gán giá trị
Khai báo và gán giá trị trên cùng dòng
Khai báo và khởi tạo hằng
kieuBien tenBien;
tenBien = giaTri;
int x;
x = 1;
kieuBien tenBien = giaTri;
int x = 1;
Sau mỗi câu lệnh đều
có dấu chấm phẩy
Khai báo và gán giá trị
Khai báo và gán giá trị trên cùng dòng
Khai báo và khởi tạo hằng
Làm quen với C# 24
Dim tenBien As kieuBien = giaTri
Dim x As Integer = 1
const tenHang As kieuBien = giaTri
const x As Integer = 5
Khai báo và gán giá trị
Khai báo và gán giá trị trên cùng dòng
Khai báo và khởi tạo hằng
kieuBien tenBien = giaTri;
int x = 1;
const kieuBien tenHang = giaTri;
const int x = 5;
Chú ý: Tên biến đặt theo ký pháp lạc đà
25. C# hỗ trợ hai kiểu ép kiểu: Ép kiểu mở rộng và ép kiểu thu hẹp
Ép kiểu mở rộng
Chuyển từ kiểu có độ chính xác bé sang kiểu có độ chính xác lớn hơn
Cũng như Visual Basic, C# tự động ép kiểu mở rộng
C# tự động chuyển từ kiểu bên trái sang bên phải
Ép kiểu thu hẹp
Chuyển từ kiểu có độ chính xác cao sang kiểu có độ chính xác thấp hơn
Phải ép kiểu tường minh cho các phép ép kiểu thu hẹp
Ép kiểu
double a = 2 ; // Chuyển từ int sang double
int b = 3, c = 4;
double z = (a+b+c)/3; // Chuyển b, c từ int sang double
C# hỗ trợ hai kiểu ép kiểu: Ép kiểu mở rộng và ép kiểu thu hẹp
Ép kiểu mở rộng
Chuyển từ kiểu có độ chính xác bé sang kiểu có độ chính xác lớn hơn
Cũng như Visual Basic, C# tự động ép kiểu mở rộng
C# tự động chuyển từ kiểu bên trái sang bên phải
Ép kiểu thu hẹp
Chuyển từ kiểu có độ chính xác cao sang kiểu có độ chính xác thấp hơn
Phải ép kiểu tường minh cho các phép ép kiểu thu hẹp
Làm quen với C# 25
byte short int long decimal
byte short int double
byte short float double
int a = (int)2.5 ; // (a = 2) Chuyển từ double sang int
int b = 3, c = 4;
double z = ((int)a+b+c)/3; // (z = 3)
//Chuyển a sang kiểu int sau đó mới thực hiện tính toán
float decimal
26. Sử dụng phương thức ToString có sẵn trong mỗi cấu trúc
Sử dụng phương thức Parse có sẵn trong mỗi cấu trúc
Sử dụng lớp Convert
Dùng phương thức này để chuyển kiểu cho tất cả các kiểu được xây
dựng sẵn
Sử dụng phương thức để ép kiểu
decimal soTien = 20.00m;
string chuoiSoTien = soTien.ToString();
decimal soTien2 = Decimal.Parse(chuoiSoTien);
Sử dụng phương thức ToString có sẵn trong mỗi cấu trúc
Sử dụng phương thức Parse có sẵn trong mỗi cấu trúc
Sử dụng lớp Convert
Dùng phương thức này để chuyển kiểu cho tất cả các kiểu được xây
dựng sẵn
Làm quen với C# 26
decimal soTien3 = Convert.ToDecimal(chuoiSoTien);
string soTienStr = Convert .ToString(soTien3);
28. C# cung cấp các toán tử và cách sử dụng các toán tử này giống
như Visual Basic
Toán tử số học
Toán tử Tên phép toán Mô tả
+ Phép cộng Cộng hai toán hạng
- Phép trừ Trừ toán hạng bên trái cho toán hạng bên phải
* Phép nhân Nhân toán hạng bên trái với toán hạng bên phải
Toán
tử hai
ngôi
Làm quen với C# 28
* Phép nhân Nhân toán hạng bên trái với toán hạng bên phải
/ Phép chia Chia toán hạng bên trái cho toán hạng bên phải
% Phép chia lấy dư Chia lấy dư toán hạng bên trái cho toán hạng bên
phải
+ Dấu dương Trả về giá trị của toán hạng
- Dấu âm Chuyển giá trị dương thành giá trị âm và giá trị âm
thành giá trị dương
++ Phép tăng Tăng toán hạng lên 1
-- Phép giảm Trừ toán hạng đi 1
Toán
tử hai
ngôi
Toán
tử
một
ngôi
29. Sử dụng các toán tử trong C# cũng tương tự như sử dụng các toán
tử trong Visual Basic
Demo sử dụng toán tử
//Tính toán với số nguyên
int x = 14;
int y = 8;
int z1 = x + y; //z1 = 22
int z2 = x - y; //z2 = 6
int z3 = x * y; //z3 = 112
int z4 = x / y; //z4 = 1
int z5 = x % y; //z5 = 6
int z6 = -x + y; //z6 = 6
int z7 = --y; //z7 = 7, y = 7
int z8 = ++y; //z8 = 15, x = 15
//Tính toán với số thập phân
decimal a = 8.5m;
decimal b = 3.4m;
decimal c1 = a + b; //c1 = 11.9
decimal c2 = a - b; //c2 = 5.1
decimal c3 = a * b; //c3 = 28.90
decimal c4 = a / b; //c4 = 2.5
decimal c5 = a % b; //c5 = 1.7
decimal c6 = -a + b; //c6 = -8.5
decimal c7 = --a; //c7 = 7.5, a = 7.5
decimal z8 = ++b; //c8 = 4.4, b = 4.4
Làm quen với C# 29
//Tính toán với số nguyên
int x = 14;
int y = 8;
int z1 = x + y; //z1 = 22
int z2 = x - y; //z2 = 6
int z3 = x * y; //z3 = 112
int z4 = x / y; //z4 = 1
int z5 = x % y; //z5 = 6
int z6 = -x + y; //z6 = 6
int z7 = --y; //z7 = 7, y = 7
int z8 = ++y; //z8 = 15, x = 15
//Tính toán với số thập phân
decimal a = 8.5m;
decimal b = 3.4m;
decimal c1 = a + b; //c1 = 11.9
decimal c2 = a - b; //c2 = 5.1
decimal c3 = a * b; //c3 = 28.90
decimal c4 = a / b; //c4 = 2.5
decimal c5 = a % b; //c5 = 1.7
decimal c6 = -a + b; //c6 = -8.5
decimal c7 = --a; //c7 = 7.5, a = 7.5
decimal z8 = ++b; //c8 = 4.4, b = 4.4
//Tính toán với kiểu ký tự
char letter1 = ‘C’; //letter1 = ‘C’
char letter2 = ++letter1; //letter2 = ‘D’
30. Thứ tự ưu tiên giống như trong Visual Basic
1. Toán tử tăng (++) và toán tử giảm (--)
2. Toán tử dương (+) và toán tử âm (-)
3. Toán tử nhân (*), chia (/) và chia lấy dư (%)
4. Toán tử cộng (+) và trừ (-)
Dùng dấu ngoặc để thay đổi thứ tự ưu tiên
Thứ tự ưu tiên
decimal phanTramChietKhau = 0.2 m;
decimal gia = 100m;
gia = gia * (1 - phanTramChieuKhau);
Làm quen với C# 30
decimal phanTramChietKhau = 0.2 m;
decimal gia = 100m;
gia = gia * (1 - phanTramChieuKhau);
31. C# cung cấp các phép gán tương tự như Visual Basic
Toán tử gán
Toán tử Mô tả
= Gán giá trị mới cho biến
+= Cộng giá trị của biến với toán hạng bên phải rồi gán kết quả cho biến
-= Lấy giá trị của biến trừ đi toán hạng bên phải rồi gán kết quả cho biến
Làm quen với C# 31
*= Nhân biến với toán hạng bên phải rồi gán kết quả cho biến
/= Lấy giá trị của biến chia cho toán hạng bên phải rồi gán kết quả cho biến
%= Lấy giá trị của biến chia lấy dư cho toán hạng bên phải rồi gán kết quả
cho biến
32. Sử dụng phép gán cũng tương tự như trong Visual Basic
Cú pháp
Ví dụ
Sử dụng toán tử gán
tenBien = bieuThuc
//Phép gán thông thường
x = 7 ; //bieuThuc là một giá trị
y = x ; //bieuThuc là một biến
z = x * y + 3; //bieuThuc là một biểu thức số học
//Sử dụng cùng một biến trên hai phía của phép gán
x = x + 10; //x = 17
//Sử dụng toán tử gán rút gọn
x +=10; //x = 27c
Làm quen với C# 32
//Phép gán thông thường
x = 7 ; //bieuThuc là một giá trị
y = x ; //bieuThuc là một biến
z = x * y + 3; //bieuThuc là một biểu thức số học
//Sử dụng cùng một biến trên hai phía của phép gán
x = x + 10; //x = 17
//Sử dụng toán tử gán rút gọn
x +=10; //x = 27c
33. C# cung cấp các toán tử logic tương tự như Visual Basic
Tuy kí hiệu toán tử C# khác với Visual Basic nhưng việc sử dụng
chúng giống hệt nhau.
Toán tử logic
Toán tử VB Toán tử C# Tên
AndAlso && Và tối ưu
OrElse || Hoặc tối ưu
And & Và
Làm quen với C# 33
And & Và
Or I Hoặc
Not ! Not
(x < 20) && (x >10) //Tương tự như (x<20) AndAlso (x>10) trong Vb
34. C# cung cấp các toán tử tương tự như Visual Basic
Việc sử dụng các toán tử này cũng giống như trong Visual Basic
Lưu ý ký hiệu toán tử bằng và toán tử không bằng của hai ngôn
ngữ khác nhau
Toán tử quan hệ
Toán tử VB Toán tử C# Tên
= == Bằng
<> != Không bằng
C# cung cấp các toán tử tương tự như Visual Basic
Việc sử dụng các toán tử này cũng giống như trong Visual Basic
Lưu ý ký hiệu toán tử bằng và toán tử không bằng của hai ngôn
ngữ khác nhau
Làm quen với C# 34
<> != Không bằng
> > Lớn hơn
< < Bé hơn
>= >= Lớn hơn hoặc bằng
<= <= Bé hơn hoặc bằng
int x = 50;
x >= 50 ; //Trả về true vì x = 50
35. Cũng giống như Visual Basic, lớp Math cung cấp các phương thức
thao tác với dữ liệu kiểu số
Lớp Math
Phương thức Giải thích
Math.Round (soThapPhan [,doChinhXac) Làm tròn chẵn.
Math.Pow(so, mu) Tính lũy thừa
Math.Sqrt(so) Tính căn
Làm quen với C# 35
Math.Sqrt(so) Tính căn
Math.{Min|Max}(soThu1, soThu2) Tìm giá trị nhỏ nhất (lớn nhất) của hai số
37. Khái niệm chuỗi (String) trong C# cũng giống như khái niệm chuỗi
trong Visual Basic
Khai báo và khởi tạo chuỗi
Nối chuỗi
Thao tác với chuỗi
string a = “Xin chao” ; // Gán một chuỗi hằng cho string
string b = “”; // Gán chuỗi rỗng cho string
string c = null; // Gán giá trị null cho string
string c1 = “Nguyen Van ” + “ An”; // c1 = “Nguyen Van An”
string a = “Nguyen Van” ;
string b = “ An”;
string c2 = a + b; // c2 = “Nguyen Van An”
string c3 = a + “ An”; // c3 = “Nguyen Van An”
string c4 = “Nguyen Van” + 2; // c4 = “Nguyen Van2”
string a += “An”; // a = “Nguyen VanAn”
Khái niệm chuỗi (String) trong C# cũng giống như khái niệm chuỗi
trong Visual Basic
Khai báo và khởi tạo chuỗi
Nối chuỗi
Làm quen với C# 37
string c1 = “Nguyen Van ” + “ An”; // c1 = “Nguyen Van An”
string a = “Nguyen Van” ;
string b = “ An”;
string c2 = a + b; // c2 = “Nguyen Van An”
string c3 = a + “ An”; // c3 = “Nguyen Van An”
string c4 = “Nguyen Van” + 2; // c4 = “Nguyen Van2”
string a += “An”; // a = “Nguyen VanAn”
38. Để thêm các ký tự đặc biệt vào chuỗi như ký tự tab, xuống dòng…
có hai cách
Sử dụng chuỗi thoát: n, t, r, , ”…
Sử dụng chuỗi nguyên mẫu: Sử dụng @ trước chuỗi
Thao tác với chuỗi
string convat = “voithorgatvit”;
chuoi convat sẽ có định dạng như sau:
voi ho
ga vit
Để thêm các ký tự đặc biệt vào chuỗi như ký tự tab, xuống dòng…
có hai cách
Sử dụng chuỗi thoát: n, t, r, , ”…
Sử dụng chuỗi nguyên mẫu: Sử dụng @ trước chuỗi
Làm quen với C# 38
string convat = “voithorgatvit”;
chuoi convat sẽ có định dạng như sau:
voi ho
ga vit
string convat = @”voi ho
ga vit”;
chuoi convat sẽ có định dạng như
sau:
voi ho
ga vit
Chú ý: Đối với chuỗi nguyên mẫu, sử dụng dấu “” khi muốn thêm dấu “
(vd: @”Nhan “”x”” de thoat” sẽ hiển thị Nhan “x” de thoat)
39. Giống như VB, C# cung cấp các định dạng hiển thị
Sử dụng phương thức ToString
Sử dụng phương thức Format của lớp String
Định dạng hiển thị
Code Định dạng Giải thích
C hoặc c Currency Hiển thị tiền tệ
P hoặc p Percent Hiện thị phần trăm
N hoặc n Number Hiển thị số có ký tự phân tách (123,345.34)
F hoặc f Float Hiển thị số thập phân
D hoặc d Digits Hiển thị số nguyên (123345.34)
Giống như VB, C# cung cấp các định dạng hiển thị
Sử dụng phương thức ToString
Sử dụng phương thức Format của lớp String
Làm quen với C# 39
D hoặc d Digits Hiển thị số nguyên (123345.34)
E hoặc e Exponential Hiển thị số theo ký pháp khoa học (E)
G hoặ g General Hiển thị số thập phân theo cách thông thường hoặc ký pháp khoa học
decimal sotien = 123.12;
string sotienFormat = sotien.ToString(“c”); //$123.12
string sotienFormat2 = String.Format(“{0:c}”, sotien) ; //$123.12
41. C# cung cấp các cấu trúc điều khiển giống như Visual Basic
Cấu trúc tuần tự
Cấu trúc lựa chọn
Cấu trúc lựa chọn đơn
Cấu trúc lựa chọn kép
Cấu trúc đa lựa chọn
Cấu trúc lặp
Cấu trúc lặp biết số vòng lặp
Cấu trúc lặp không biết số vòng lặp
Việc sử dụng các cấu trúc này giống như Visual Basic chỉ khác nhau
về cú pháp
Cấu trúc điều khiển
C# cung cấp các cấu trúc điều khiển giống như Visual Basic
Cấu trúc tuần tự
Cấu trúc lựa chọn
Cấu trúc lựa chọn đơn
Cấu trúc lựa chọn kép
Cấu trúc đa lựa chọn
Cấu trúc lặp
Cấu trúc lặp biết số vòng lặp
Cấu trúc lặp không biết số vòng lặp
Việc sử dụng các cấu trúc này giống như Visual Basic chỉ khác nhau
về cú pháp
Làm quen với C# 41
42. Lệnh lựa chọn đơn
Visual Basic
Cú pháp
Ví dụ
C#
Cú pháp
Ví dụ
If (bieuthucdieukien) Then
//Thân lệnh
End If
if (bieuthucdieukien){
//Thân lệnh
}
Cú pháp
Ví dụ
Cú pháp
Ví dụ
Làm quen với C# 42
If diem>6 Then
Display.Text = “Đỗ”
End If
if (diem>6)
{
Display.Text = “Đỗ”;
}
43. Lệnh lựa chọn kép
Visual Basic
Cú pháp
Ví dụ
C#
Cú pháp
Ví dụ
If (bieuthucdieukien) Then
//Thân lệnh
Else
//Thân lệnh
End If
If (bieuthucdieukien){
//Thân lệnh
}
else{
//Thân lệnh
}
Cú pháp
Ví dụ
Cú pháp
Ví dụ
Làm quen với C# 43
If (bieuthucdieukien) Then
//Thân lệnh
Else
//Thân lệnh
End If
If (bieuthucdieukien){
//Thân lệnh
}
else{
//Thân lệnh
}
If diem>4 Then
Display.Text = “Đỗ”
Else
Display.Text = “Trượt
End If
If diem>6 {
Display.Text = “Đỗ”
}else{
Display.Text = “Đỗ”
}
44. Lệnh đa lựa chọn
Visual Basic
Cú pháp
C#
Cú pháp
Select Case (bieuthucdieukien)
Case giatri
//Thân mệnh đề
…
Case giatri
//Thân mệnh đề
Case Else
//Thân mệnh đề
End Select
switch(bieuthucdieukien)
{
case giatri:
//Thân mệnh đề
break;
…
case giatri:
//Thân mệnh đề
break;
default:
//Thân mệnh đề
break;
}
Cú pháp Cú pháp
Làm quen với C# 44
Select Case (bieuthucdieukien)
Case giatri
//Thân mệnh đề
…
Case giatri
//Thân mệnh đề
Case Else
//Thân mệnh đề
End Select
switch(bieuthucdieukien)
{
case giatri:
//Thân mệnh đề
break;
…
case giatri:
//Thân mệnh đề
break;
default:
//Thân mệnh đề
break;
}
45. Lệnh đa lựa chọn
Visual Basic
Ví dụ
C#
Ví dụ
Select Case diem
Case "A", "B"
displayLabel.Text = "Rất tốt!"
Case "C", "D"
displayLabel.Text = "Tốt!"
Case "F"
displayLabel.Text = "Trượt."
Case Else
displayLabel.Text = “Điểm không hợp lệ."
End Select
switch(diem)
{
case “A”:
case “B”:
displayLabel.Text = “Rất tốt!”;
break;
case “C”:
case “D”:
displayLabel.Text = “Tốt!”;
break;
case “F”:
displayLabel.Text = “Trượt.”;
break;
default:
displayLabel.Text = “Diem khonghop le.”
break;
}
Ví dụ Ví dụ
Làm quen với C# 45
Select Case diem
Case "A", "B"
displayLabel.Text = "Rất tốt!"
Case "C", "D"
displayLabel.Text = "Tốt!"
Case "F"
displayLabel.Text = "Trượt."
Case Else
displayLabel.Text = “Điểm không hợp lệ."
End Select
switch(diem)
{
case “A”:
case “B”:
displayLabel.Text = “Rất tốt!”;
break;
case “C”:
case “D”:
displayLabel.Text = “Tốt!”;
break;
case “F”:
displayLabel.Text = “Trượt.”;
break;
default:
displayLabel.Text = “Diem khonghop le.”
break;
}
46. Lệnh lặp while
Visual Basic
Cú pháp
Ví dụ
C#
Cú pháp
Ví dụ
Do While (bieuthucdieukien)
//Thân lệnh
Loop
while (bieuthucdieukien){
//Thân lệnh
}
Cú pháp
Ví dụ
Cú pháp
Ví dụ
Làm quen với C# 46
Dim sum As Integer = 0
Dim i As Integer = 1
Do While i <= 5
sum = sum + i
i = i + 1
Loop
int sum = 0;
int i = 1;
while (i <= 5){
sum = sum + i;
i++;
}
Lưu ý: Lệnh while kiểm tra biểu thức điều kiện rồi mới thực hiện lệnh trong
vòng lặp
47. Lệnh lặp do while
Visual Basic
Cú pháp
Ví dụ
C#
Cú pháp
Ví dụ
Do
//Thân lệnh
Loop While (bieuthucdieukien)
do {
//Thân lệnh
} while (bieuthucdieukien)
Cú pháp
Ví dụ
Cú pháp
Ví dụ
Làm quen với C# 47
Dim sum As Integer = 0
Dim i As Integer = 1
Do
sum = sum + i
i = i + 1
Loop While i <= 5
int sum = 0;
int i = 1;
do{
sum = sum + i;
i++;
} while (i <= 5)
Lưu ý: Lệnh do while thực hiện lệnh trong vòng lặp rồi mới kiểm tra biểu
thức điều kiện
48. Cú pháp Visual Basic
Cú pháp C#
Lệnh for
For tenbiendieukhien As Integer = giatrikhoitao To giatricuoi Step buoctang
//Thân lệnh
Next
for (giatrikhoitao ; bieuthuclogic ; bieuthuctang){
//Thân lệnh
}
Làm quen với C# 48
for (giatrikhoitao ; bieuthuclogic ; bieuthuctang){
//Thân lệnh
}
Dim sum As Integer = 0
For i As Integer = 1 To 5 Step 1
{
sum += i
}
int sum = 0;
for (int i = 1; i<=5; i++)
{
sum += i;
}
49. break: Khi gặp lệnh này sẽ thoát ra khỏi vòng lặp
continue: Khi gặp lệnh này sẽ bỏ qua các câu lệnh sau nó và thực
hiện vòng lặp tiếp theo
Lệnh break và continue trong vòng lặp
break: Khi gặp lệnh này sẽ thoát ra khỏi vòng lặp
continue: Khi gặp lệnh này sẽ bỏ qua các câu lệnh sau nó và thực
hiện vòng lặp tiếp theo
Làm quen với C# 49
51. Visual Basic cung cấp hai kiểu cú pháp cho thủ tục (phương thức)
Phương thức Sub (không trả về giá trị)
Phương thức Function (trả về giá trị)
C# chỉ cung cấp một cú pháp duy nhất cho phương thức
Đối với hàm không trả về giá trị: kiểu trả về là void
Phương thức
(Private|Public) Sub tenthutuc (ByVal thamso1 As kieuthamso)
//Thân thủ tục
End Sub
(Private|Public) Function tenthutuc (ByVal thamso1 As kieuthamso) As kieutrave
//Thân thủ tục
End Sub
Visual Basic cung cấp hai kiểu cú pháp cho thủ tục (phương thức)
Phương thức Sub (không trả về giá trị)
Phương thức Function (trả về giá trị)
C# chỉ cung cấp một cú pháp duy nhất cho phương thức
Đối với hàm không trả về giá trị: kiểu trả về là void
Làm quen với C# 51
(Private|Public) Function tenthutuc (ByVal thamso1 As kieuthamso) As kieutrave
//Thân thủ tục
End Sub
(private|public) kieutrave tenphuongthuc (kieubienthamso thamso1) {
//Thân thủ tục
}
52. Cú pháp
Phương thức không trả về giá trị
Phương thức trả về giá trị và có tham số
Phương thức trong C#
(private|public) kieutrave tenphuongthuc (kieubienthamso thamso1) {
//Thân thủ tục
}
private void hienThi(string user, string pass)
{
txtUser.Text = user;
txtPass.Text = pass;
}
Cú pháp
Phương thức không trả về giá trị
Phương thức trả về giá trị và có tham số
Làm quen với C# 52
private void hienThi(string user, string pass)
{
txtUser.Text = user;
txtPass.Text = pass;
}
private int binhPhuong(int x)
{
return x * x;
}
53. Cú pháp gọi đến phương thức cũng tương tự như Visual Basic
Visual Basic
C#
Ví dụ
Định nghĩa phương thức
Gọi phương thức
Gọi phương thức
[Me.] tenphuongthuc ([danhsachthamso])
[this.] tenphuongthuc ([danhsachthamso])
Cú pháp gọi đến phương thức cũng tương tự như Visual Basic
Visual Basic
C#
Ví dụ
Định nghĩa phương thức
Gọi phương thức
Làm quen với C# 53
private int binhPhuong(int x)
{
return x * x;
}
int ketQua = this.binhPhuong(10);
54. Theo mặc định, đối số được truyền theo giá trị
Để truyền đối số theo tham chiếu, sử dụng từ khóa ref
Truyền tham số
theo tham chiếu và tham trị
private void Form1_Load(object sender, EventArgs e)
{
int x = 10;
int y = 5;
doiGiaTri(ref x, ref y);
MessageBox.Show("x = " + x + "ny= " + y);
}
private void doiGiaTri(ref int x, ref int y)
{
int z = x;
x = y;
y = z;
}
Làm quen với C# 54
private void Form1_Load(object sender, EventArgs e)
{
int x = 10;
int y = 5;
doiGiaTri(ref x, ref y);
MessageBox.Show("x = " + x + "ny= " + y);
}
private void doiGiaTri(ref int x, ref int y)
{
int z = x;
x = y;
y = z;
}
55. Tương tự Visual Basic, C# cũng cung cấp tham số tùy chọn cho
phương thức
Tham số tùy chọn trên Visual Basic
Tham số tùy chọn trên C#
Tham số tùy chọn
Private Function tinhLapPhuong( Optional ByVal x As Integer = 1, _
Optional ByVal y As Integer = 1, _
Optional ByVal z As Integer = 1 ) As Integer
Return x * y * z
End Function
Tương tự Visual Basic, C# cũng cung cấp tham số tùy chọn cho
phương thức
Tham số tùy chọn trên Visual Basic
Tham số tùy chọn trên C#
Làm quen với C# 55
Private Function tinhLapPhuong( Optional ByVal x As Integer = 1, _
Optional ByVal y As Integer = 1, _
Optional ByVal z As Integer = 1 ) As Integer
Return x * y * z
End Function
private tinhLapPhuong(decimal x = 1, decimal y =1, decimal z =1){
return x * y * z;
}
57. Chương trình nào cũng có khả năng gặp phải các tình huống không
mong muốn
Người dùng nhập dữ liệu không hợp lệ
File cần mở bị khóa
Lỗi chia cho 0
Khi gặp lỗi này máy tính sẽ dừng đột ngột
Điều gì sẽ xẩy ra nếu
Thao tác chuyển tiền của ngân hàng gặp lỗi và dừng đột ngột
Chương trình điều khiển máy bay gặp lỗi và dừng đột ngột
Cần phải có cơ chế xử lý lỗi này
.NET đưa ra khái niệm xử lý ngoại lệ để xử lý những lỗi này
Xử lý lỗi
Chương trình nào cũng có khả năng gặp phải các tình huống không
mong muốn
Người dùng nhập dữ liệu không hợp lệ
File cần mở bị khóa
Lỗi chia cho 0
Khi gặp lỗi này máy tính sẽ dừng đột ngột
Điều gì sẽ xẩy ra nếu
Thao tác chuyển tiền của ngân hàng gặp lỗi và dừng đột ngột
Chương trình điều khiển máy bay gặp lỗi và dừng đột ngột
Cần phải có cơ chế xử lý lỗi này
.NET đưa ra khái niệm xử lý ngoại lệ để xử lý những lỗi này
Làm quen với C# 57
58. Khi gặp lỗi không xử lý được, ứng dụng ném ra một ngoại lệ
Ngoại lệ
Làm quen với C# 58
Ứng dụng ném ra ngoại lệ FormatException vì
xẩy ra lỗi không ép kiểu thành công
60. Một số phương thức có thể ném ra ngoại lệ
Các thuộc tính/phương thức của đối tượng Exception
Ngoại lệ
Lớp Phương thức Ngoại lệ
Convert ToDecimal(string) FormatException
Convert ToInt32(string) FormatException
Decimal Parse(string) FormatException
DateTime Parse(string) FormatException
Một số phương thức có thể ném ra ngoại lệ
Các thuộc tính/phương thức của đối tượng Exception
Làm quen với C# 60
Thuộc tính/Phương thức Mô tả
Message Thông báo mô tả ngắn gọn về
ngoại lệ
GetType() Lấy kiểu của ngoại lệ hiện tại
61. Sử dụng try catch để xử lý ngoại lệ
Xử lý ngoại lệ
Máy tính sẽ chạy từng lệnh trong khối try
Nếu lệnh nào ném ra ngoại lệ, máy tính sẽ chuyển đến thực hiện
lệnh trong khối catch
Thực hiện xong lệnh trong khối catch, máy tính sẽ thực hiện lệnh
tiếp theo sau khối try-catch
Xử lý ngoại lệ
try
{
//Viết mã có khả năng có ngoại lệ ở đây
}
catch (Exception ex)
{
//Viết mã xử lý lỗi ở đây
}
Sử dụng try catch để xử lý ngoại lệ
Xử lý ngoại lệ
Máy tính sẽ chạy từng lệnh trong khối try
Nếu lệnh nào ném ra ngoại lệ, máy tính sẽ chuyển đến thực hiện
lệnh trong khối catch
Thực hiện xong lệnh trong khối catch, máy tính sẽ thực hiện lệnh
tiếp theo sau khối try-catch
Làm quen với C# 61
try
{
//Viết mã có khả năng có ngoại lệ ở đây
}
catch (Exception ex)
{
//Viết mã xử lý lỗi ở đây
}
62. Demo xử lý ngoại lệ
try
{
decimal monthlyInvestment =
Convert.ToDecimal(txtMonthlyInvestment.Text);
decimal yearlyInterestRate =
Convert.ToDecimal(txtInterestRate.Text);
int years = Convert.ToInt32(txtYears.Text);
}
catch (FormatException)
{
MessageBox.Show(
"Invalid numeric format. Please check all entries.","Entry Error");
}
catch (OverflowException)
{
MessageBox.Show(
"Overflow error. Please enter smaller values.","Entry Error");
}
catch (Exception ex)
{
MessageBox.Show(
ex.Message + "nn" +
ex.GetType().ToString() + "n" +
ex.StackTrace, "Exception");
}
Làm quen với C# 62
try
{
decimal monthlyInvestment =
Convert.ToDecimal(txtMonthlyInvestment.Text);
decimal yearlyInterestRate =
Convert.ToDecimal(txtInterestRate.Text);
int years = Convert.ToInt32(txtYears.Text);
}
catch (FormatException)
{
MessageBox.Show(
"Invalid numeric format. Please check all entries.","Entry Error");
}
catch (OverflowException)
{
MessageBox.Show(
"Overflow error. Please enter smaller values.","Entry Error");
}
catch (Exception ex)
{
MessageBox.Show(
ex.Message + "nn" +
ex.GetType().ToString() + "n" +
ex.StackTrace, "Exception");
}
63. Visual Studio gồm hai thành phần chính là IDE và .NET FrameWork.
Trong đó IDE để phát triển ứng dụng còn .NET FrameWork định
nghĩa môi trường thực thi
Ứng dụng Windows Form không chạy trực tiếp trên hệ điều hành
của máy tính mà thông qua .NET FrameWork
.NET Framework gồm hai thành phần chính là .NET Framework Class
Library và Common Language Runtime (CLR).
.NET Framwork Class Library bao gồm thư viện các đoạn mã được
viết sẵn cung cấp các chức năng cần thiết khi lập trình
CLR cung cấp các dịch vụ cần thiết để chạy ứng dụng được viết
bằng ngôn ngữ .NET
Tất cả các ứng dụng viết bằng ngôn ngữ .NET đều được biên dịch
thành mã trung gian. Mã này được CLR chuyển thành mã máy để có
thể chạy trên hệ điều hành.
Ngôn ngữ C# chỉ khác Visual Basic về mặt cú pháp, còn về mặt hỗ
trợ lập trình thì giống nhau vì cùng dựa trên một FrameWork
Tổng kết bài học
Visual Studio gồm hai thành phần chính là IDE và .NET FrameWork.
Trong đó IDE để phát triển ứng dụng còn .NET FrameWork định
nghĩa môi trường thực thi
Ứng dụng Windows Form không chạy trực tiếp trên hệ điều hành
của máy tính mà thông qua .NET FrameWork
.NET Framework gồm hai thành phần chính là .NET Framework Class
Library và Common Language Runtime (CLR).
.NET Framwork Class Library bao gồm thư viện các đoạn mã được
viết sẵn cung cấp các chức năng cần thiết khi lập trình
CLR cung cấp các dịch vụ cần thiết để chạy ứng dụng được viết
bằng ngôn ngữ .NET
Tất cả các ứng dụng viết bằng ngôn ngữ .NET đều được biên dịch
thành mã trung gian. Mã này được CLR chuyển thành mã máy để có
thể chạy trên hệ điều hành.
Ngôn ngữ C# chỉ khác Visual Basic về mặt cú pháp, còn về mặt hỗ
trợ lập trình thì giống nhau vì cùng dựa trên một FrameWork
Làm quen với C# 63
64. Giống như VB, kiểu dữ liệu trong C# cũng được chia thành hai loại
là kiểu dữ liệu giá trị và kiểu dữ liệu tham chiếu. String là kiểu dữ
liệu tham chiếu được xây dựng sẵn
C# cũng cung cấp các toán tử số học, toán tử gán, toán tử logic, và
toán tử quan hệ
C# cũng hỗ trợ 3 kiểu cấu trúc điều khiển là tuần tự, lựa chọn và
lặp
Không giống như VB có hai phương thức là phương thức Sub và
phương thức Function. C# chỉ cung cấp một kiểu cú pháp cho
phương thức, nếu giá trị trả về là void thì phương thức đó không trả
về giá trị
.NET hỗ trợ xử lý ngoại lệ để xử lý những đoạn mã có khả năng xẩy
ra lỗi
Đoạn mã có khả năng xẩy ra lỗi được đặt trong khối try, khối catch
chứa mã xử lý lỗi.
Tổng kết bài học
Giống như VB, kiểu dữ liệu trong C# cũng được chia thành hai loại
là kiểu dữ liệu giá trị và kiểu dữ liệu tham chiếu. String là kiểu dữ
liệu tham chiếu được xây dựng sẵn
C# cũng cung cấp các toán tử số học, toán tử gán, toán tử logic, và
toán tử quan hệ
C# cũng hỗ trợ 3 kiểu cấu trúc điều khiển là tuần tự, lựa chọn và
lặp
Không giống như VB có hai phương thức là phương thức Sub và
phương thức Function. C# chỉ cung cấp một kiểu cú pháp cho
phương thức, nếu giá trị trả về là void thì phương thức đó không trả
về giá trị
.NET hỗ trợ xử lý ngoại lệ để xử lý những đoạn mã có khả năng xẩy
ra lỗi
Đoạn mã có khả năng xẩy ra lỗi được đặt trong khối try, khối catch
chứa mã xử lý lỗi.
Làm quen với C# 64