Bài giảng Lập trình Ứng dụng quản lý - Tuần 2: .NET Framework và ngôn ngữ lập trình C#
9/12/2018
Lập trình Ứng dụng quản lý
.NET Framework và ngôn ngữ lập trình
C#
Nội dung
.NET Framework
Ngôn ngữ lập trình C#
Các đặc điểm cơ bản của C#
String trong .NET
Array trong C#
1
9/12/2018
Nội dung
.NET Framework
Ngôn ngữ lập trình C#
Các đặc điểm cơ bản của C#
String trong .NET
Array trong C#
.NET Framework
Microsoft .NET gồm 2 phần chính : Framework
và Integrated Development Environment (IDE).
Framework cung cấp những gì cần thiết và căn
bản.
IDE thì cung cấp một môi trường giúp chúng ta triển
khai dễ dàng, và nhanh chóng các ứng dụng dựa
trên nền tảng .NET.
Microsoft .NET là nền tảng cho việc xây dựng và
thực thi các ứng dụng phân tán thế hệ kế tiếp.
.NET Framework là một platform (nền tảng) mới
làm đơn giản việc phát triển ứng dụng trong môi
trường phân tán của Internet.
2
9/12/2018
Thành phần
.NET Framework có hai thành phần chính:
Common Language Runtime (CLR) và thư viện
lớp .NET Framework.
CLR thực hiện quản lý bộ nhớ, quản lý thực thi tiểu
trình, thực thi mã nguồn, xác nhận mã nguồn an
toàn, biên dịch và các dịch vụ hệ thống khác.
Những đặc tính trên là nền tảng cơ bản cho những
mã nguồn được quản lý chạy trên CLR.
Thư viện lớp .NET Framework là một tập hợp
những kiểu dữ liệu được dùng lại và được kết hợp
chặt chẽ với Common Language Runtime. Thư
viện lớp là hướng đối tượng cung cấp những kiểu
dữ liệu mà mã nguồn được quản lý của chúng ta có
thể dẫn xuất.
MSIL
Trong .NET Framework, chương trình không
được biên dịch vào các tập tin thực thi mà thay
vào đó chúng được biên dịch vào những tập tin
trung gian gọi là Microsoft Intermediate
Language (MSIL).
Những tập tin MSIL được tạo ra từ C# cũng tương
tự như các tập tin MSIL được tạo ra từ những ngôn
ngữ khác của .NET, platform ở đây không cần biết
ngôn ngữ của mã nguồn.
Khi chạy chương trình, thì MSIL được biên dịch
một lần nữa, sử dụng trình biên dịch Just-In-
Time (JIT). Kết quả là mã máy được thực thi bởi
bộ xử lý của máy.
3
9/12/2018
Nội dung
.NET Framework
Ngôn ngữ lập trình C#
Các đặc điểm cơ bản của C#
String trong .NET
Array trong C#
Ngôn ngữ lập trình C#
C# là một ngôn ngữ lập trình mới được thiết kế
riêng để dùng cho Microsoft .NET Framework.
Được xây dựng trên nền tảng của hai ngôn ngữ
mạnh nhất là C++ và Java.
C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn
mười mấy kiểu dữ liệu được xây dựng sẵn. Tuy
nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi
những khái niệm lập trình hiện đại. C# bao gồm tất
cả những hỗ trợ cho cấu trúc, thành phần
component, lập trình hướng đối tượng.
C# là một ngôn ngữ độc lập.
4
9/12/2018
Intermediate Language
Intermediate Language là bản chất của .NET
Framework. Mã C# sẽ luôn được dịch sang
Intermediate Language trước khi nó được thực
thi.
Những đặc tính chính của Intermediate Language
Hướng đối tượng và dùng interfaces.
Sự tách biệt giữa kiểu giá trị và kiểu tham chiếu.
Định kiểu mạnh.
Quản lỗi thông qua các ngoại lệ (exception).
Sử dụng các thuộc tính (Attributes).
Nội dung
.NET Framework
Ngôn ngữ lập trình C#
Các đặc điểm cơ bản của C#
String trong .NET
Array trong C#
5
9/12/2018
Biến và hằng
Khai báo biến:
Với modifier là một trong những từ khoá :
public, private, protected, . . . cò n datatype là kiểu
dữ liệu (int , long , float. . . ) và identifier là tên
biến.
Khai báo hằng:
Data types
Kiểu dữ liệu trong C#
C# là ngô n ngữ lập trình định kiểu mạnh.
Bao gồm 2 loại
Được xây dựng sẵn: int, long,...
Tự định nghĩa.
Chia thành 2 kiểu chủ yếu là: kiểu giá trꢀ (value
type, thông thường là struct như: int, char,…) và
kiểu tham chiꢁu (reference type, thông thường là
class như: string,…).
Kiểu giá trị được lưu trong vùng nhớ Stack.
Kiểu tham chiếu được lưu trong vùng nhớ Heap (giá trị địa
chỉ lưu trong Stack).
6
9/12/2018
Vùng nhớ
Vùng nhớ Stack và Heap
Vùng nhớ Stack là vùng lưu trữ dữ liệu với kích
thước cố định, riêng biệt cho mỗi chương trình. Mọi
dữ liệu được lưu trên Stack sẽ bị loại bỏ ngay khi
hoàn thành phạm vi biến (hoàn tất 1 phương thức,
chương trình,…).
Vùng nhớ Heap là vùng lưu trữ dữ liệu có kích
thước thay đổi và khá đồ sộ. Dữ liệu trên Heap
không bị loại bỏ khi biến tham chiếu đến đã hoàn
thành phạm vi biến.
Boxing
Boxing là quá trình chuyển dữ liệu từ kiểu tham
trị sang kiểu tham chiếu. Quá trình có thể thực
hiện ngầm định.
7
9/12/2018
Unboxing
Unboxing là quá trì nh
ngược lại với boxing,
tức là đưa từ kiểu
tham chiếu ra kiểu
tham trị. Quá trì nh
phải được thực hiện
tường minh (phải đảm
bảo đúng với kiểu dữ
liệu đã boxing).
Cấu trúc chương trình
Trong C# mọi thứ đều bắt đầu từ class.
Class là một khuôn mẫu thiết yếu để tạo ra đối
tượng.
Thành phần dữ liệu: fields, constants và events.
Thành phần xử lý: methods (functions member).
Một phương thức được bổ nghĩa bởi các từ khóa
sau: public, private, protected, internal, static,
abstract, virtual, override, new, sealed,
extern.???
Struct tương tự class tuy nhiên có nhiều khác biệt
cơ bản???
8
9/12/2018
Phương thức
Cách khai báo và sử dụng phương thức (truyền
tham số,...)
Khai báo phải đi liền với thân hàm
Cấu trúc lệnh
Các cấu trúc lệnh (điều kiện, lặp, switch,...)
Tương tự C++
Lặp duyệt
9
9/12/2018
Kiểu liệt kê (enumerations)
Namespaces
Namespaces cung cấp cách tổ chức quan hệ
giữa các lớp và các kiểu khác.
Hiểu đơn giản là namespace chia không gian
cho từng thư viện.
Sử dụng từ khóa using để khai báo sử dụng
mặc định namespace.
10
9/12/2018
Delegate
Delegate là kiểu dữ liệu tham chiếu được dùng
để đóng gói một phương thức với tham số và
kiểu trả về xác định.
Gần giống con trỏ hàm trong C++ nhưng là
hướng đối tượng, an toàn và bảo mật.
Khai bá o delegate trong namespace hoặc trong
class.
Ví dụ:
Sử dụng delegate
Sử dụng delegate để xác định phương thức lúc
thực thi.
Cơ chế multicasting cho phép gọi hai hay nhiều
phương thức thực thi thông qua một ủy quyền
đơn. Mục đích chính là có một ủy quyền có thể
gọi thực hiện nhiều hơn một phương thức. Để
thực hiện được thì kiểu trả về của delegate phải
là kiểu void.
Ví dụ:
11
9/12/2018
Nội dung
.NET Framework
Ngôn ngữ lập trình C#
Các đặc điểm cơ bản của C#
String trong .NET
Array trong C#
String trong .NET
Xử lý chuỗi là công việc cơ bản luôn diễn ra trong
lập trình.
Xử lý chuỗi trong .NET được hỗ trợ rất mạnh bởi
các thư viện liên quan
Kiểu dữ liệu string với nhiều phương thức hỗ trợ
StringBuilder giúp xử lý hiệu quả hơn với nhiều
chuỗi trong nhiều tình huống
Regular Expression giúp xử lý chuỗi quy tắc (so
khớp)
12
9/12/2018
Kiểu dữ liệu string
Trong các kiểu dữ liệu tích hợp sẵn của C# thì chỉ
string là kiểu dữ liệu tham chiếu (reference type),
tuy nhiên cách sử dụng lại giống như kiểu dữ liệu
tham trị (value type).
Kiểu dữ liệu string là bất biến (immutable)
(không thể thay đổi sau khi đã được tạo).???
Kiểu dữ liệu string là sealed (khô ng cho phé p
dẫn xuất).
Vì vậy string trở nên an toàn và hiệu quả hơn.
Định dạng chuỗi (Formatting Strings)
Phương thức Format giúp định dạng chuỗi kết
quả dễ dàng.
13
9/12/2018
Bảng định dạng tiêu chuẩn
Bảng ký tự tự định dạng
14
9/12/2018
So sánh chuỗi
Comparing Strings
Cơ bản sử dụng các operator ==, >, <,...
Phương thức hỗ trợ so sánh: Compare và
CompareOrdinal.
Checking for String Equality
Sử dụng operator ==
Sử dụng phương thức Equals.
Xử lý chuỗi
Concatenating Strings
Sử dụng operator +
Sử dụng phương thức Concat
Copying Strings
Sử dụng phương thức Copy, CopyTo hoặc
phương thức chung Clone.
Copy khác với phép gán.
15
9/12/2018
Kiểm tra chuỗi
Inspecting String Content
Sử dụng các phương thức StartsWith và
EndsWith hoặc Contains
Extracting String Information
Sử dụng các phương thức IndexOf hoặc
LastIndexOf và Substrings.
Padding và Trimming
Padding and Trimming String Output
Sử dụng các phương thức PadLeft, PadRight
Sử dụng phương thức Trim, TrimStart, TrimEnd
16
9/12/2018
Sửa đổi chuỗi
Modifying String Content
Các phương thức hỗ trợ: Insert, Remove và
Replace
Ngoài ra còn có các phương thức đặc biệt như:
ToLower, ToUpper
Chia tách và nối chuỗi
Splitting and Joining Strings
Sử dụng phương thức Split và Join
Working with String Characters
Xử lý như mảng các char với các property
Length, toán tử indexer.
Phương thức hỗ trợ ToCharArray.
17
9/12/2018
Class StringBuilder
Hỗ trợ tạo chuỗi hiệu quả hơn khi phải xử lý từ
nhiều chuỗi con.
Mấu chốt của StringBuilder là không tạo các
bản copy của chuỗi ở mỗi thao tác.
Các phương thức chủ yếu
Append để nối chuỗi.
AppendFormat để nối chuỗi có hỗ trợ định dạng
trước.
EnsureCapacity để xác định kích thước nhỏ nhất
của StringBuilder.
ToString để trích rút string trong StringBuilder.
Regular Expression
Chuỗi biểu thức quy tắc được ứng dụng nhiều
trong việc kiểm tra định dạng chuỗi có phù hợp
yêu cầu hay không.
C#.NET hỗ trợ làm việc với Regular Expression
thô ng qua class Regex.
18
9/12/2018
Nội dung
.NET Framework
Ngôn ngữ lập trình C#
Các đặc điểm cơ bản của C#
String trong .NET
Array trong C#
Arrays trong C#
Mảng là thành phần thông dụng trong phần lớn
các ngôn ngữ lập trình.
Một mảng là một kiểu dữ liệu lưu trữ danh sách
(list) cá c object.
19
9/12/2018
Single-Dimension Arrays
Khai báo mảng
Duyệt mảng
Sử dụng vòng lặp thông thường
Sử dụng vòng lặp foreach
Multidimension Arrays
Khai báo mảng
Điểm khác biệt là có nhiều chiều hơn nhưng mỗi
chiều là đồng nhất về số lượng.
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Ứng dụng quản lý - Tuần 2: .NET Framework và ngôn ngữ lập trình C#", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_lap_trinh_ung_dung_quan_ly_tuan_2_net_framework_va.pdf

