Tải bản đầy đủ (.pdf) (65 trang)

bài 1 làm quen với c#

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (11.25 MB, 65 trang )

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

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×