SlideShare uma empresa Scribd logo
1 de 65
Baixar para ler offline
Bài 1:
Làm quen với 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ệ
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
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
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
Ứ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
.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
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
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
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
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
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
.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
Visual Studio 2010
Làm quen với C# 13
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
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.
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
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
KIỂU DỮ LIỆU
Làm quen với C# 18
KIỂU DỮ LIỆU
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
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)
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
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
.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
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 đà
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
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);
TOÁN TỬ
Làm quen với C# 27
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
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’
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);
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
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
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
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
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ố
THAO TÁC
VỚI CHUỖI
Làm quen với C# 36
THAO TÁC
VỚI CHUỖI
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”
Để 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)
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
CẤU TRÚC
ĐIỀU KHIỂN
Làm quen với C# 40
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
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
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 = “Đỗ”;
}
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 = “Đỗ”
}
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;
}
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;
}
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
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
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;
}
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
PHƯƠNG THỨC
Làm quen với C# 50
PHƯƠNG THỨC
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
}
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;
}
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);
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;
}
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;
}
XỬ LÝ
NGOẠI LỆ
Làm quen với C# 56
XỬ LÝ
NGOẠI LỆ
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
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
Exception
FormatException ArithmeticException
Cây phân cấp ngoại lệ
OverflowException
DivideByZeroException
Làm quen với C# 59
Tất cả các ngoại lệ đều là lớp con
của Exception
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
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
}
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");
}
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
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
1. http://en.wikipedia.org/wiki/Common_Language_Runtime
Danh sách tham khảo
Làm quen với C# 65

Mais conteúdo relacionado

Mais procurados

Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuThiênĐàng CôngDân
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồzDollz Lovez
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngleemindinh
 
Bài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmBài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmHoài Phạm
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngNguyễn Danh Thanh
 
De thi qlda cntt itc vdc trac nghiem 05-2006
De thi qlda cntt itc vdc trac nghiem 05-2006De thi qlda cntt itc vdc trac nghiem 05-2006
De thi qlda cntt itc vdc trac nghiem 05-2006Tran Tien
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTTLy hai
 
Quản trị dự án công nghệ thông tin
Quản trị dự án công nghệ thông tinQuản trị dự án công nghệ thông tin
Quản trị dự án công nghệ thông tinAnh Dam
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên nataliej4
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmNguyễn Anh
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinVõ Phúc
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHan Nguyen
 
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêbáo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêthuhuynhphonegap
 
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTBài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTMasterCode.vn
 

Mais procurados (20)

Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Bài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmBài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần Mềm
 
Đề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đ
Đề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đĐề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đ
Đề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đ
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
 
400 câu hỏi thi trắc nghiệm ASP.NET có đáp án - Thiết kế website kinh doanh 2
400 câu hỏi thi trắc nghiệm ASP.NET có đáp án - Thiết kế website kinh doanh 2400 câu hỏi thi trắc nghiệm ASP.NET có đáp án - Thiết kế website kinh doanh 2
400 câu hỏi thi trắc nghiệm ASP.NET có đáp án - Thiết kế website kinh doanh 2
 
De thi qlda cntt itc vdc trac nghiem 05-2006
De thi qlda cntt itc vdc trac nghiem 05-2006De thi qlda cntt itc vdc trac nghiem 05-2006
De thi qlda cntt itc vdc trac nghiem 05-2006
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTT
 
Quản trị dự án công nghệ thông tin
Quản trị dự án công nghệ thông tinQuản trị dự án công nghệ thông tin
Quản trị dự án công nghệ thông tin
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
 
Đệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh CậnĐệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh Cận
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềm
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng online
 
Đề tài: Quản lí Tour du lịch, HAY, 9đ
Đề tài: Quản lí Tour du lịch, HAY, 9đĐề tài: Quản lí Tour du lịch, HAY, 9đ
Đề tài: Quản lí Tour du lịch, HAY, 9đ
 
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêbáo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
 
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTBài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
 
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đ
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đĐề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đ
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đ
 
Chuyên Đề Công Nghệ Phần Mềm PTIT
Chuyên Đề Công Nghệ Phần Mềm PTITChuyên Đề Công Nghệ Phần Mềm PTIT
Chuyên Đề Công Nghệ Phần Mềm PTIT
 

Destaque

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 theoMasterCode.vn
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...MasterCode.vn
 
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPagerBài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPagerMasterCode.vn
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...MasterCode.vn
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vntailieumienphi
 
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.vnMasterCode.vn
 
Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#An Nguyen
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTMasterCode.vn
 
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...MasterCode.vn
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTMasterCode.vn
 
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPTBài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPTMasterCode.vn
 
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...Long Kingnam
 
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPTBài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPTMasterCode.vn
 
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnPdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnMasterCode.vn
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTMasterCode.vn
 
Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#
Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#
Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#MasterCode.vn
 

Destaque (20)

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
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
 
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPagerBài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPager
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
 
Bai tap thuc hanh
Bai tap thuc hanhBai tap thuc hanh
Bai tap thuc hanh
 
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
 
Ngôn ngữ lập trình C#
Ngôn ngữ lập trình C#Ngôn ngữ lập trình C#
Ngôn ngữ lập trình C#
 
Bài tập thực hành C#
Bài tập thực hành C#Bài tập thực hành C#
Bài tập thực hành C#
 
Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
 
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
 
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPTBài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
 
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
 
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPTBài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
 
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnPdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
 
Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#
Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#
Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#
 

Semelhante a Bài 1 - Làm quen với C# - Lập trình winform

Devwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bảnDevwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bảnDevwork
 
1. giới thiệu về ng￴n ngữ lập trình c#
1. giới thiệu về ng￴n ngữ lập trình c#1. giới thiệu về ng￴n ngữ lập trình c#
1. giới thiệu về ng￴n ngữ lập trình c#Duy Lê Văn
 
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...VTrung46
 
Nhat nghe c#
Nhat nghe   c#Nhat nghe   c#
Nhat nghe c#Hihi Hung
 
Nhat nghe c#
Nhat nghe   c#Nhat nghe   c#
Nhat nghe c#LanLT2011
 
Lập trình c# 2008 cơ bản (nhất nghệ) [thủ thuật it 360]
Lập trình c# 2008 cơ bản (nhất nghệ) [thủ thuật it 360]Lập trình c# 2008 cơ bản (nhất nghệ) [thủ thuật it 360]
Lập trình c# 2008 cơ bản (nhất nghệ) [thủ thuật it 360]leduyk11
 
Nhat nghe c#
Nhat nghe   c#Nhat nghe   c#
Nhat nghe c#LanLT2011
 
Chapter 1 1 vi
Chapter 1 1 viChapter 1 1 vi
Chapter 1 1 viTan Duy
 
Chapter 1 1 vi
Chapter 1 1 viChapter 1 1 vi
Chapter 1 1 viTan Duy
 
Sinh vienit.net --57669587-c-dhkh-hue
Sinh vienit.net --57669587-c-dhkh-hueSinh vienit.net --57669587-c-dhkh-hue
Sinh vienit.net --57669587-c-dhkh-hueTuấn Nguyễn Văn
 

Semelhante a Bài 1 - Làm quen với C# - Lập trình winform (20)

Devwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bảnDevwork.vn Giáo trình C# cơ bản
Devwork.vn Giáo trình C# cơ bản
 
1. giới thiệu về ng￴n ngữ lập trình c#
1. giới thiệu về ng￴n ngữ lập trình c#1. giới thiệu về ng￴n ngữ lập trình c#
1. giới thiệu về ng￴n ngữ lập trình c#
 
Ltgd ch01
Ltgd ch01Ltgd ch01
Ltgd ch01
 
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...Windows Programming Tác giả: Bộ môn Công nghệ phần mềm;  Người hướng dẫn: -; ...
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...
 
Asp.net 3.5 _1
Asp.net 3.5 _1Asp.net 3.5 _1
Asp.net 3.5 _1
 
Mau slide
Mau slideMau slide
Mau slide
 
Nhat nghe c#
Nhat nghe   c#Nhat nghe   c#
Nhat nghe c#
 
Nhat nghe c#
Nhat nghe   c#Nhat nghe   c#
Nhat nghe c#
 
C# cơ bản hay
C# cơ bản hayC# cơ bản hay
C# cơ bản hay
 
Lập trình c# 2008 cơ bản (nhất nghệ) [thủ thuật it 360]
Lập trình c# 2008 cơ bản (nhất nghệ) [thủ thuật it 360]Lập trình c# 2008 cơ bản (nhất nghệ) [thủ thuật it 360]
Lập trình c# 2008 cơ bản (nhất nghệ) [thủ thuật it 360]
 
Nhat nghe c#
Nhat nghe   c#Nhat nghe   c#
Nhat nghe c#
 
Nhat nghe c#
Nhat nghe   c#Nhat nghe   c#
Nhat nghe c#
 
Chuong 1
Chuong 1Chuong 1
Chuong 1
 
005. LAP TRINH C#.pdf
005. LAP TRINH C#.pdf005. LAP TRINH C#.pdf
005. LAP TRINH C#.pdf
 
005. LAP TRINH C#.pdf
005. LAP TRINH C#.pdf005. LAP TRINH C#.pdf
005. LAP TRINH C#.pdf
 
Chapter 1 1 vi
Chapter 1 1 viChapter 1 1 vi
Chapter 1 1 vi
 
Chapter 1 1 vi
Chapter 1 1 viChapter 1 1 vi
Chapter 1 1 vi
 
Sinh vienit.net --57669587-c-dhkh-hue
Sinh vienit.net --57669587-c-dhkh-hueSinh vienit.net --57669587-c-dhkh-hue
Sinh vienit.net --57669587-c-dhkh-hue
 
Cac bai tap .net
Cac bai tap .netCac bai tap .net
Cac bai tap .net
 
Ltctwd
LtctwdLtctwd
Ltctwd
 

Mais de MasterCode.vn

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.vnMasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnMasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnMasterCode.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.vnMasterCode.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.vnMasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.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.vnMasterCode.vn
 
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.vnMasterCode.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...MasterCode.vn
 

Mais de 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
 
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
 
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
 
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...
 

Bài 1 - Làm quen với C# - Lập trình winform

  • 1. Bài 1: Làm quen với C#
  • 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
  • 13. Visual Studio 2010 Làm quen với C# 13
  • 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
  • 18. KIỂU DỮ LIỆU Làm quen với C# 18 KIỂU DỮ LIỆU
  • 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);
  • 27. TOÁN TỬ Làm quen với C# 27
  • 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ố
  • 36. THAO TÁC VỚI CHUỖI Làm quen với C# 36 THAO TÁC VỚI CHUỖI
  • 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
  • 40. CẤU TRÚC ĐIỀU KHIỂN Làm quen với C# 40 CẤU TRÚC ĐIỀU KHIỂN
  • 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
  • 50. PHƯƠNG THỨC Làm quen với C# 50 PHƯƠNG THỨC
  • 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; }
  • 56. XỬ LÝ NGOẠI LỆ Làm quen với C# 56 XỬ LÝ NGOẠI LỆ
  • 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
  • 59. Exception FormatException ArithmeticException Cây phân cấp ngoại lệ OverflowException DivideByZeroException Làm quen với C# 59 Tất cả các ngoại lệ đều là lớp con của Exception
  • 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