Bài giảng ngôn ngữ C# - Bài 1: Giới thiệu Net và C# giúp các bạn trình bày được đặc điểm chung của ngôn ngữ C#; mô tả về .NET và vai trò của C# trong đó; mô tả công cụ Visual Studio 2008; xây dựng được ít nhất 01 chương trình C# có hoạt động đơn giản.
Trang 1BÀI 1 GIỚI THIỆU NET VÀ C#
GV Chử Đức Hoàng
Trang 2• Khi công nghệ thông tin phát triển, tin học được ứng dụng vào nhiều lĩnh vực Trong
đó, một lĩnh vực có rất nhiều ứng dụng đó là quản lý học viên Hơn nữa, việc ứngdụng internet vào lĩnh vực quản lý cũng nhiều Chính vì vậy, trường đại học quốc giamuốn xây dựng một hệ thống quản lý học viên và các hoạt động của học viên trênmáy tính và có sử dụng những ứng dụng của internet
Trang 3MỤC TIÊU
Trình bày được đặc điểm chung của ngôn ngữ C#
Mô tả về NET và vai trò của C# trong đó
Mô tả công cụ Visual Studio 2008
Xây dựng được ít nhất 01 chương trình C# có hoạt động đơn giản
Trang 6• C# là ngôn ngữ lập trình đơn giản, an toàn, hiện đại, hướng đối tượng, đặt trọngtâm vào internet, có khả năng thực thi cao trong môi trường NET
• 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.
• Phát hành phiên bản đầu tiên vào tháng 7 năm 2000
1.1 C# LÀ GÌ?
Trang 7• Hỗ trợ lập trình cấu trúc, lập trình hướng đối tượng, hướng thành phần;
• Mạnh mẽ và mềm dẻo, kiểm soát và xử lý ngoại lệ;
• Ít từ khóa;
• Cơ chế tự động thu dọn rác;
• Chỉ cho phép đơn kế thừa;
• Hỗ trợ khái niệm interface và property;
• Lớp object là cha của tất cả các lớp, mọi lớp đều dẫn xuất từ lớp object
1.2 MỘT SỐ ĐẶC ĐIỂM CỦA NGÔN NGỮ C#
Trang 8Có hai cách để soạn thảo, biên dịch và thực thi cho chương trình C# đó là:
• Sử dụng chương trình soạn thảo văn bản bất kỳ rồi sử dụng command line để biêndịch và thực thi
• Sử dụng môi trường phát triển tích hợp (IDE)
1.3 SOẠN THẢO VÀ BIÊN DỊCH CHƯƠNG TRÌNH C#
Biên dịch chương trình C#
• Ngôn ngữ C# biên dịch chương trình ra mã trung gian (MSIL)
• Sau đó thực hiện bằng cách thông dịch hoặc biên dịch trong từng máy ảotương ứng
QLSV.exe hoặc QLSV.dll
CLR trên Windows
Thực thi trên Windows
CLR trên Linux
Thực thi trên Linux
Thực thi trên MacOS
CLR trên MacOS
MSIL
Trang 9Sử dụng chương trình soạn thảo văn bản
• Dùng bất kỳ một trình soạn thảo văn bản để lập trình
• Lưu tập tin dưới dạng *.cs
• Dùng command line để biên dịch và thực thi tập tin nguồn Mẫu dòng lệnh biêndịch là:
csc.exe [/out: <file thực thi>] <file nguồn>
Ví dụ:
csc.exe /out:C:\QLSV.exe d:\QLSV.cs
Sử dụng IDE
• Dùng bộ IDE của VS.NET
• Mở chương trình VS.NET đã được cài trên máy
• Tạo mới một chương trình
• Soạn thảo chương trình trong cửa sổ
• Lưu tập tin
• Biên dịch và chạy chương trình
1.3 SOẠN THẢO VÀ BIÊN DỊCH CHƯƠNG TRÌNH C# (tiếp theo)
Trang 10Các loại ứng dụng C#
• Chương trình Console (TUI)
Giao tiếp với người dùng bằng bàn phím
Không có giao diện đồ họa (GUI)
• Chương trình Windows Form
Giao tiếp với người dùng bằng bàn phím và mouse
Có giao diện đồ họa và xử lý sự kiện
• Chương trình Web Form
Kết hợp với ASP NET, C# đóng vài trò xử lý bên dưới (underlying code)
Có giao diện đồ họa và xử lý sự kiện
1.3 SOẠN THẢO VÀ BIÊN DỊCH CHƯƠNG TRÌNH C# (tiếp theo)
Trang 111.4 CẤU TRÚC CHƯƠNG TRÌNH C#
Trang 12On passing, 'Finish' button: Goes to Next Slide
On failing, 'Finish' button: Goes to Next Slide Allow user to leave quiz: At any time
User may view slides after quiz: At any time
User may attempt quiz: Unlimited times
Trang 13• Mối quan hệ giữa C# và microsoft.NET
• Thực thi một chương trình NET
• Kiến trúc của Microsoft.NET
• Các thành phần trong NET framework
• Vai trò của CLR và MSIL
• IDE
2 GIỚI THIỆU VỀ NET
Trang 14• Ngôn ngữ C# ra đời cùng với NET
• Ngôn ngữ C# là một ngôn ngữ độc lập, có thể sinh ra mã đích dùng trong môitrường NET Do vậy nó được coi như thiết kế riêng để phát triển công nghệMicrosoft’s NET Framework
2.1 C# VÀ NET
Trang 15• NET có thể hiểu là môi trường thực thi mới và thư viện lớp cơ sở cải tiến.
• Các ứng dụng NET chạy trên nền NET framework
• Tất cả các chương trình viết bằng ngôn ngữ khác nhau trên NET sẽ được chuyển về
mã thống nhất MSIL, sau đó được thông dịch qua mã máy lúc thực thi nhờ vào CLR
Do vậy, người ta nói NET hỗ trợ đa ngôn ngữ
• Hỗ trợ thực thi chéo giữa các ngôn ngữ
• Microsoft.NET do microsoft phát hành tháng 11/2000
2.2 ĐẶC ĐIỂM CỦA NET
Trang 16CT C#.NET
CT VB.NET
CT C++.NET
CT J#.NET
VB NET Compiler
2.3 THỰC THI MỘT ỨNG DỤNG NET
Trang 17• NET Framework: là phần quan trọng nhất của NET, là nền tảng cho cho công nghệ.NET, cung cấp tập hợp class library thường dùng và quản lý sự thực thi của cácchương trình NET
• Framework là bộ khung phát triển ứng dụng:
Bốn ngôn ngữ chính:C#, VB.NET, C++.NET, Jscript.NET
Common Language Runtime – CLR (.NET Runtime): tương tự máy ảo Java
Bộ thư viện Framework Class Library - FCL
2.4 .NET FRAMEWORK
Trang 18Kiến trúc của NET framework
2.4 .NET FRAMEWORK (tiếp theo)
Trang 19.NET Framework - CLR
• Là bộ thực thi ngôn ngữ chung: Common Language Runtime – CLR
• Vai trò chính CLR: quản lý sự thực thi mã, biên dịch, quản lý bộ nhớ, kiểm tra
Trang 20.NET Framework - CTS
• Common Type System: CTS
• Mục đích hỗ trợ thực thi chéo ngôn ngữ
• CTS định nghĩa kiểu dữ liệu tiền định và có sẵn trong IL, tất cả ngôn ngữ NET sẽđược sinh ra mã cuối trên cơ sở kiểu dữ liệu này
…int
…
…Integer
…
…Int32
…
2.4 .NET FRAMEWORK (tiếp theo)
Trang 21.NET Framework - CLS
• Common Language Specification: CLS
• Đảm bảo sự thực thi chéo
• Tất cả compiler hướng NET đều phải tuân thủ theo CLS:
Có thể viết mã non-CLS nhưng sẽ ko đảm bảo thực thi chéo
CLS là phần chung của các ngôn ngữ hướng đối tượng
2.4 .NET FRAMEWORK (tiếp theo)
Trang 22• Các ngôn ngữ sử dụng trong NET (như C#, java,…) thường không biên dịch ngay
mã nguồn thành tập tin thực thi mà chúng được biên dịch thành một ngôn ngữtrung gian MSIL hay còn gọi tắt là IL
• Các tập tin IL của C# và IL của các ngôn ngữ khác là đồng nhất với nhau
• Nhờ MSIL mà một ứng dụng viết bằng ngôn ngữ này có thể sử dụng thư viện (dạng.dll) của ngôn ngữ khác
Trang 23• Tránh xung đột tên;
• Truy cập đầy đủ qua tên;
• Tất cả các dạng dữ liệu có tiếp đầu ngữ là tênnamespace
Namespace SV1
Class AClass B
Class C
Namespace SV2
Class AClass BClass C
SV1.A…
SV2.A…
2.4 .NET FRAMEWORK (tiếp theo)
Trang 24Namespace
• Hầu hết các lớp cơ sở chung của NET đều thuộc namespace System
Lớp CS Array thuộc System → System.Array
• NET đề nghị tất cả kiểu do người dùng định nghĩa phải nằm trong 1 namespace
UniversityName
sinhvien
Khoa
Tên namespace
Tên lớp
2.4 .NET FRAMEWORK (tiếp theo)
Trang 25On passing, 'Finish' button: Goes to Next Slide
On failing, 'Finish' button: Goes to Next Slide Allow user to leave quiz: At any time
Trang 26• Viết một chương trình C# đơn giản
3 GIỚI THIỆU VỀ VISUAL STUDIO NET
Trang 27• Visual studio.NET là một môi trường tích hợp triển khai phần mềm Nó được thiết kế
để lập ra một tiến trình viết mã, gỡ rối, và biên dịch cho phần mềm
• Visual studio.NET gồm có:
Text Editor: để viết đoạn mã C#
Design view editor: thiết kế giao diện người dùng
Các cửa sổ hỗ trợ
Biên dịch trong lòng môi trường: biên dịch
Một Intergate Debugger: gỡ rối
Intergated MSDN help: gọi tài liệu MSDN
Truy cập đến một chương trình khác: kết nối tiện ích
3.1 KHÁI NIỆM VS.NET
Trang 29• Mở chương trình Vivual Studio 2008
Trang 30Các template
Template Những mã C# và tuỳ chọn biên dịch được tạo ra
Windows Application Một mẫu trống cơ bản
Class Library Một lớp NET có thể được gọi bởi các mã khác
Windows Control Library Một lớp NET có thể được gọi bởi mã khác và có một giao diện người dùng ASP.NET Web Application Một ASP.NET site web cơ sở: trang ASP.NET và lớp C# tạo ra HTML gửi
đến trình duyệt từ các trang này ASP.NET Web Service Một lớp C# hành động như một Web service trọn vẹn
Web Control Library Một control có thể được gọi lên bởi trang ASP.NET, để tạo ra mã HTML đưa
bề mặt của một điều khiển khi thể hiện trên trình duyệt.
Console Application Một ứng dụng chạy tại chế độ dòng lệnh hay của một sổ console
Windows Service Một dịch vụ chạy trên nền Windows NT và Windows 2000
Empty Project Một ứng dụng rỗng
Empty Web Project Như empty project nhưng các cài đặt biên dịch được cài vào cấu trúc trình
biên dịch để tạo mã cho trang AS.NET.
New Project In Existing Folder Những tập tin dự án mới cho một empty project
3.3 SỬ DỤNG VS.NET ( tiếp theo)
Trang 313.4 XÂY DỰNG ỨNG DỤNG C# ĐƠN GIẢN SỬ DỤNG VS.NET
Trang 32On passing, 'Finish' button: Goes to Next Slide
On failing, 'Finish' button: Goes to Next Slide Allow user to leave quiz: At any time
User may view slides after quiz: At any time
User may attempt quiz: Unlimited times
Trang 33TÓM LƯỢC CUỐI BÀI
• Nắm được khái niệm về ngôn ngữ lập trình C#
• Nắm được đặc trưng chính của ngôn ngữ C#
• Nắm được khái niệm NET và kiến trúc của NET cũng nhưmối quan hệ của C# và NET
• Sử dụng cơ bản phần mềm Visual Studio 2008
• Viết ứng dụng đơn giản sử dụng ngôn ngữ C#
Trang 34On passing, 'Finish' button: Goes to Next Slide
On failing, 'Finish' button: Goes to Next Slide Allow user to leave quiz: At any time
User may view slides after quiz: At any time
User may attempt quiz: Unlimited times
Trang 35Allow user to leave interaction: Anytime
Show ‘Next Slide’ Button: Don't show
Trang 36Allow user to leave interaction: Anytime
Show ‘Next Slide’ Button: Don't show
Completion Button Label: Next Slide