Lập trình .NET và C#
Lecture 2:
Ngôn ngữ C#
TS Đào Nam Anh
UTM, Khoa KH&CN
Resources
Các giải pháp lập trình C#, Nguyễn Ngọc Bình Phương - Thái Thanh Phong
Allen Jones. C# Programmer's Cookbook. Microsoft Press, 2004
John Connell. Coding Techniques for Microsoft Visual Basic .NET. Microsoft
Press, 2002.
Harvey M. Deitel, Paul J. Deitel, & Tem R. Nieto. Visual Basic .NET How to
Program, Second Edition. Prentice Hall, 2002.
Jose Mojica. C# and VB .NET Conversion Pocket Ref
28 trang |
Chia sẻ: huongnhu95 | Lượt xem: 482 | Lượt tải: 0
Tóm tắt tài liệu Giáo trình Lập trình .NET và C# - Chương 2: Ngôn ngữ C# - Đào Nam Anh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
erence. O'Reilly, 2002.
James Avery. Ten Must-Have Tools Every Developer Should Download Now.
MSDN Magazine, 2004.
Karl Moore. The Ultimate VB.NET and ASP.NET Code Book. Apress, 2003
Matthew MacDonald. Microsoft Visual Basic .NET Programmer's Cookbook.
Microsoft Press, 2003.
Mark Schmidt & Simon Robinson. Microsoft Visual C# .NET 2003 Developer's
Cookbook. Sams Publishing, 2003.
Dương Quang Thiện. Lập trình Visual C# thế nào? Nhà xuất bản Tổng Hợp TP.
Hồ Chí Minh, 2005.
Nguyễn Ngọc Bình Phương & Lê Trần Nhật Quỳnh. Các giải pháp lập trình
Visual Basic .NET. Nhà xuất bản Giao thông Vận tải, 2006
www.msdn.microsoft.com, www.codeproject.com, www.msd2d.com,
www.developersdex.com, www.windowsforms.net, www.gotdotnet.com,
www.codeguru.com, www.developerfusion.com
Ngôn ngữ C#
Ngôn ngữ 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.
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# hội đủ những điều kiện lập trình hiện đại,
hơn nữa nó đượ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.
Ngôn ngữ C#
Ngôn ngữ C# được phát triển bởi đội ngũ kỹ
sư của Microsoft, trong đó người dẫn đầu là
Anders Hejlsberg và Scott Wiltamuth.
Cả hai người này điều là những người nổi
tiếng, trong đó Anders Hejlsberg được biết
đến là tác giả của Turbo Pascal. Và ông
đứng đầu nhóm thiết kế Borland Delphi, một
trong những thành công đầu tiên của việc
xây dựng môi trường phát triển tích hợp
(IDE) cho lập trình client/server.
Ngôn ngữ C#
Sự hỗ trợ của C# cho việc định nghĩa và làm
việc với những lớp.
C# chứa những từ khóa cho việc khai báo
những kiểu lớp đối tượng mới và những
phương thức hay thuộc tính của lớp, và cho
việc thực thi đóng gói, kế thừa, và đa hình,
ba thuộc tính cơ bản của bất cứ ngôn ngữ
lập trình hướng đối tượng.
Ngôn ngữ C#
C# hỗ trợ giao diện interface
Một lớp chỉ có thể kế thừa từ duy nhất một
lớp cha, tức là không cho đa kế thừa như
trong ngôn ngữ C++, tuy nhiên một lớp có
thể thực thi nhiều giao diện.
Ngôn ngữ C#
Trong ngôn ngữ C#, những cấu trúc được hỗ
trợ.
Một cấu trúc được giới hạn, là kiểu dữ liệu
nhỏ gọn, và khi tạo thể hiện thì nó yêu cầu ít
hơn về hệ điều hành và bộ nhớ so với một
lớp.
Ti sao s d ng ngôn ng
C#
Không cần thiết có một ngôn ngữ lập trình
mới?
C# là một ngôn ngữ được dẫn xuất từ C và
C++, nhưng nó được tạo từ nền tảng phát
triển hơn.
Microsoft bắt đầu với công việc trong C và
C++ và thêm vào những đặc tính mới để làm
cho ngôn ngữ này dễ sử dụng hơn. Nhiều
trong số những đặc tính này khá giống với
những đặc tính có trong ngôn ngữ Java
Ti sao s d ng ngôn ng
C#
C# là ngôn ngữ đơn giản
C# là ngôn ngữ hiện đại
C# là ngôn ngữ hướng đối tượng
C# là ngôn ngữ mạnh mẽ và mềm dẻo
C# là ngôn ngữ có ít từ khóa
C# là ngôn ngữ hướng module
C# trở nên phổ biến
Ti sao s d ng ngôn ng
C#
C# là ngôn ng
đn gin
C# loại bỏ một vài sự phức tạp và rối rắm của
những ngôn ngữ như Java và c++, bao gồm macro,
template, đa kế thừa, và lớp cơ sở ảo (virtual base
class).
C# cú pháp, biểu thức, toán tử từ ngôn ngữ C và
C++, nhưng được cải tiến làm cho ngôn ngữ đơn
giản hơn.
Trong C++ có ba toán tử làm việc với các thành viên
là ::, . , và ->. Trong C#, chúng được thay thế với
một toán tử duy nhất gọi là . (dot).
Ti sao s d ng ngôn ng
C#
C# là ngôn ng
hin đi
Xử lý ngoại lệ, thu gom bộ nhớ tự động,
những kiểu dữ liệu mở rộng, và bảo mật mã
nguồn là những đặc tính trong ngôn ngữ hiện
đại.
C# chứa tất cả những đặc tính trên.
Ti sao s d ng ngôn ng
C#
C# là ngôn ng
hưng đi tưng
Ngôn ngữ hướng đối tượng (Object-oriented
language) có đặc tính:
sự đóng gói (encapsulation),
sự kế thừa (inheritance), và
đa hình (polymorphism).
C# chứa tất cả những đặc tính trên.
Ti sao s d ng ngôn ng
C#
C# là ngôn ng
mnh m và m m
d!o
C# chỉ bị giới hạn ở chính bởi người sử dụng
C# không đặt những ràng buộc lên những
việc có thể làm.
C# được sử dụng cho nhiều các dự án khác
nhau như là tạo ra ứng dụng xử lý văn bản,
ứng dụng đồ họa, bản tính, những trình biên
dịch cho các ngôn ngữ khác
Ti sao s d ng ngôn ng
C#
C# là ngôn ng
ít t# khóa
uncheckedshortnullfordecimal
ulongsealednewfloatcontinue
uintsbytenamespacefixedconst
typeofreturnlongfinallyclass
tryreflockfalsechecked
truereadonlyisexternchar
throwpublicinternalexplicitcatch
whilethisprotectedinterfaceeventcase
voidswitchprivateintenumbyte
volatilestructparamsinelsebreak
virtualstringoverrideimplicitdoublebool
usingstaticoutifdobase
ushortstackallocoperatorgotodelegateas
unsafesizeofobjectforeachdefaultabstract
Ti sao s d ng ngôn ng
C#
C# là ngôn ng
hưng module
Mã nguồn C# có thể được viết trong những phần
được gọi là Class,
Class này chứa các phương thức thành viên của
nó.
Class và những phương thức có thể được sử dụng
lại trong ứng dụng hay các chương trình khác.
Bằng cách truyền các mẫu thông tin đến những
Class hay phương thức chúng ta có thể tạo ra
những mã nguồn dùng lại có hiệu quả.
Ti sao s d ng ngôn ng
C#
C# là m(t ngôn ng
ph* bi,n
Nhiều sản phẩm của MS này đã chuyển đổi
và viết lại bằng C#.
.NET là một lý do khác để đem đến sự thành
công của C#. .NET là một sự thay đổi trong
cách tạo và thực thi những ứng dụng.
C# trở nên phổ biến do những đặc tính: đơn
giản, hướng đối tượng, mạnh mẽ...
Ti sao s d ng ngôn ng
C#
Ngôn ng
C# và ngôn ng
khác
Sự khác nhau giữa ngôn ngữ C# và Visual Basic,
C++ và Java?
C# loại bỏ một vài các đặc tính của C++, nhưng nó
tránh được những lỗi mà thường gặp trong ngôn
ngữ C++.
Mã nguồn C# không đòi hỏi phải có tập tin header.
mã nguồn được viết trong khai báo một lớp.
.NET runtime trong C# thực hiện thu gom bộ nhớ tự
động -> sử dụng con trỏ trong C# ít quan trọng hơn
trong C++.
Ti sao s d ng ngôn ng
C#
Ngôn ng
C# và ngôn ng
khác
C# cũng từ bỏ ý tưởng đa kế thừa như trong C++.
C# đưa thêm thuộc tính vào trong một lớp giống
như trong Visual Basic
Điểm giống nhau C# và Java là cả hai cùng biên
dịch ra mã trung gian: C# biên dịch ra MSIL còn
Java biên dịch ra bytecode
C# chứa nhiều kiểu dữ liệu cơ bản hơn Java và
cũng cho phép nhiều sự mở rộng với kiểu dữ liệu
giá trị.
Lp, đi tưng và ki2u d
liu
(class, object, type)
kiểu trong C# được định nghĩa là một lớp
(class),
các thể hiện riêng của từng lớp được gọi là
đối tượng (object).
Xem chương trình
Phưng th8c
Hai thành phần chính cấu thành một lớp là
thuộc tính hay tính chất (property)
phương thức hay còn gọi là hành động ứng xử của đối
tượng (function)
Trong C# hành vi được định nghĩa như một phương
thức thành viên của lớp.
Phương thức chính là các hàm được định nghĩa
trong lớp.
Khi chương trình thực thi, CLR gọi hàm Main() đầu
tiên, hàm Main() là đầu vào của chương trình, và
mỗi chương trình phải có một hàm Main().
Chú thích -Comment
Một chương trình được viết tốt thì cần phải
có chú thích các đoạn mã được viết.
Các đoạn chú thích này sẽ không được biên
dịch và cũng không tham gia vào chương
trình.
Mục đích chính là làm cho đoạn mã nguồn rõ
ràng và dễ hiểu.
Ctrl KC, Ctrl KU
; ng d ng Console
giao tiếp với người dùng thông quan bàn
phím và không có giao diện người dùng (UI)
dùng phương thức WriteLine() của lớp
Console.
Namespace
.NET cung cấp một thư viện các lớp đồ sộ và
thư viện này có tên là FCL (Framework Class
Library). Trong đó Console chỉ là một lớp nhỏ
trong hàng ngàn lớp trong thư viện. Mỗi lớp
có một tên riêng, vì vậy FCL có hàng ngàn
tên như ArrayList, Dictionary, FileSelector,
Tạo namespace, namsespace sẽ hạn chế
phạm vi của một tên, làm cho tên này chỉ có
ý nghĩa trong vùng đã định nghĩa.
Toán t ‘.’
dấu ‘.’ được sử dụng để truy cập đến
phương thức hay dữ liệu trong một lớp, và
ngăn cách giữa tên lớp đến một namespace
xác nhận
System.Console.WriteLine();
namespace có thể được chia thành các
namespace con gọi là subnamespace.
T# khóa using
Để làm cho chương trình gọn hơn, và không
cần phải viết từng namespace cho từng đối
tượng, C# cung cấp từ khóa using, sau từ
khóa này là một namespace hay
subnamespace với mô tả đầy đủ trong cấu
trúc phân cấp của nó.
using System;
System.Console.WriteLine();
Console.WriteLine(“Hello”);
Void static
Static
Void
Question
Phân bit ch
thư@ng và ch
hoa
giống như C/C++, C# là ngôn ngữ phân biệt chữ
thường với chữ hoa
C# không giống như VB, môi trường phát triển C#
sẽ không tự sửa các lỗi này
Qui ước cho cách đặt tên biến, hằng, hàm, và nhiều
định danh khác nữa. Cú pháp lạc đà (camel
notation) cho tên biến và cú pháp Pascal cho hàm,
hằng, và thuộc tính.
myDictionary theo cách đặt tên cú pháp lạc đà.
DrawLine, thuộc tính ColorBackground theo cách
đặt tên cú pháp Pascal.
Các file đính kèm theo tài liệu này:
- giao_trinh_lap_trinh_net_va_c_chuong_2_ngon_ngu_c_dao_nam_an.pdf