Bài giảng Lập trình C# - Nguyễn Thị Điệu - Chương 1: Giới thiệu .NET Framework và C#

– Giới thiệu

– Ứng dụng Windows Forms

– Không gian tên

– Các cấu trúc lập trình

– Trình đơn project

– Thanh công cụ

pdf35 trang | Chuyên mục: Visual C# | Chia sẻ: dkS00TYs | Lượt xem: 1821 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Lập trình C# - Nguyễn Thị Điệu - Chương 1: Giới thiệu .NET Framework và C#, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
, Visual Studio 2005 ra đời, nó giúp cho nhà phát 
triển làm việc nhóm dӉ dàng và hiӋu quҧ, cũng như giúp họ 
giҧm bớt công sӭc và thời gian trong quá trình phát triển. 
• Ngày 19/11/2007, Microsoft chấm dӭt tiến trình thử nghiӋm kéo 
dài tới 18 tháng và tung ra phiên bҧn chính thӭc Visual Studio 
2008. 
5 
SѪăQUAăVӄăLSăPHÁTăTRIӆNăCÁCăPHIểNăBҦN 
VISUAL STUDIO 
• Thӭ nhất, VS 2008 tích hợp công nghӋ Silverlight và 
Popfly Explorer. 
• Thӭ hai, VS 2008 được Microsoft tích hợp thêm LINQ. 
• Thӭ ba, Công cụ Sync Framework tích hợp sẵn giúp mở 
rộng khҧ nĕng hỗ trợ đồng bộ hoá cӫa VS 2008 cho phép 
tҥo ӭng dụng phối hợp ngoҥi tuyến hoặc ngang hàng. 
6 
1.1. Giӟi thiӋu .Net Framework 
 - .NET Framework là môi trường thực thi các chương trình 
được xây dựng bằng VB.Net, C#, Visual C++, Visual J++. 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
7 
CHѬѪNGă1.ăGiӞIăTHIӊUăWINDOWSăFORMS 
1.1. Giӟi thiӋu .Net Framework 
 - Common Laguage Runtime(CLR) là bộ phận quҧn lý viӋc thi 
hành mã lӋnh 
 - Framework Base Classes: thư viӋn các lớp hỗ trợ mọi dịch 
vụ 
 - Data and XML Classes: thư viӋn chӭa các lớp kết nối CSDL 
CHѬѪNGă1.ăGIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
1.2 Ӭng dụng Window Form 
a) Tҥo Project Window Form mӟi 
 Bước 1: Vào menu File | New | Project hoặc 
Ctrl+Shift+N 
Bước 2: Trong mục Project types: chọn Visual C# 
 - Trong mục Templates: chọn Window form Application 
 - Trong mục Location: chọn thư mục muốn lưu Project 
 - Trong mục Name: nhập tên của Project 
 Bước 3: Click OK để hoàn tất 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
b) Biên dӏch và Chҥy chѭѫng trình 
Biên dịch: Vào menu Build | Build Solution or nhấn F6 
Chạy chương trình: Vào menu Debug | Start 
Debugging hoặc nhấn F5. 
Xóa biên dịch cũ: Vào menu Build | Clear Solution 
Biên dịch lại: Vào menu Build | Rebuild Solution 
10 
1.3 Trình đѫn Project 
Add thêm một Form mới vào Project 
Add thêm một control do người dụng định nghĩa 
vào Project 
Thêm một class vào Project 
Thêm một items đã tồn tҥi 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
11 
1.3Trình đѫn Project 
Biên dịch chương trình 
Biên dịch lҥi chương trình 
Cấu hình biên dịch 
Chҥy chương trình 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
1.3 Cấu trúc chung cӫa mӝt chѭѫng trình C# 
using System; 
using System.Collections.Generic; 
using System.Text; 
namespace myConsoleApplication 
{ 
class Program 
 { 
 // Khai báo thuộc tính 
// Vùng khai báo các phương thӭc 
 static void Main(string[] args) 
 { 
 // Vùng khai báo lӋnh 
 } 
 } 
} 
KhaiăbáoăsửădụngăcácăNamespace 
Khaiăbáoăkhôngăgianătênăcӫaăӭngădụng
Vùng khai báo class và các 
thành phần. 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
13 
a) Không gian tên(Namespace) 
– Namespace ra đời nhằm giҧi quyết bài toán xung đột tên 
class(cùng tên lớp) trong cùng một Project 
– Được tổ chӭc theo dҥng cây phân cấp giống như thư mục. 
– Trong một Namespace có thể có nhiều class. 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
b)ăKhaiăbáoăhằng 
 Đặc điểm: 
 - Hằng cũng là một biến nhưng giá trị hằng không thay đổi 
trong suốt quá trình thực thi chương trình. Hằng bắt buộc phҧi 
được gán giá trị lúc khai báo. 
 - Hằng được phân thành ba loҥi: giá trị hằng (literal), biểu 
tượng hằng (symbolic constants), kiểu liӋu kê (enumerations). 
 - Hằng bao giờ cũng static, tuy nhiên ta không thể đưa từ khoá 
static vào khi khai báo hằng. 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
b)ăKhaiăbáoăhằng Cú pháp: 
[mӭc_độ_truy_cập] const 
 tên_hằng = ;  Ví dụ: 
 public const int DayOfSendingBill = 1; 
 const int DayOfSendingbill = 1; 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
KIӆUăLIӊTăKểă- Enumeration Chúng ta định nghĩa một enumeration giống như sau : 
 [private] enum TimeOfDay [:kiểu_dữ_liӋu] // trừ kiểu ký tự 
 { 
 Morning, 
 Afternoon, 
 Evening 
 } 
 const int DoDong = 0; 
 const int DoNguoi = 20; 
 const int DoAm = 40; 
 const int DoNong = 60; 
 const int DoSoi = 100; 
b)ăKhaiăbáoăbiӃn  Cú pháp: 
[mӭc_đӝ_truy_cұp]ăă; 
 - Với mức_độ_truy_cập là một trong những từ khoá : 
public, private, protected, …(xem BҦNG 1) 
 - đặt theo quy tắc đặt tên. 
 - VD: private int i; 
 // Ta có thể gán cho biến một giá trị bằng toán tử "=". 
 i = 10; 
 hoặc int i = 10; 
 int x = 10, y = 20; 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
BҦNGă1.ăMӴCăĐӜăTRUYăCҰP 
Mӭc đӝ truy cұp Ý nghĩa 
public Không có giới hҥn, có thể truy xuất mọi nơi trong bҧn thân lớp 
khai báo và bên ngoài hay trong nội bộ khối assembly. 
private Riêng tư chỉ có phҥm vi hoҥt động trong lớp mà nó khai báo. 
Các phương thӭc bên ngoài lớp không thể truy xuất đến nó. 
protected Các thành viên trong lớp được khai báo bằng protected thì chỉ có 
các phương thӭc bên trong lớp và các lớp dẫn xuất từ lớp đó 
mới có thể truy cập đến nó. 
internal Các phương thӭc, các biến thành viên được khai báo bằng từ 
khóa Internal có thể được truy cập bởi tất cҧ những phương 
thӭc cӫa bất cӭ lớp nào trong cùng một khối hợp ngữ assembly 
với lớp đó. 
protected internal Các biến thành viên được khai báo bằng từ khóa này trong một 
lớp A bất kì có thể được truy xuất bởi các phương thӭc thuộc lớp 
A và các phương thӭc cӫa lớp dẫn xuất từ lớp A và bất cӭ lớp 
nào trong cùng một khối hợp ngữ với lớp A. 
QUYăTҲCăĐҺTăTểNăBIӂN 
• Không trùng với định danh khác trong cùng 
phҥm vi 
• Không trùng với từ khóa và các định danh mặc 
định trong C# 
• Không bắt đầu bởi chữ số, phҧi bắt đầu bởi các 
chữ cái hoặc dấu _ 
• Không chӭa ký tự đặc biӋt và không chӭa dấu 
cách 
c) Khai báo phѭѫng thӭc 
 [mӭc_độ_truy_cập] 
 ([danh sách tham số]) 
 { 
 // Viết lӋnh 
 } 
Ví dụ: 
public void setData() 
 { 
 } 
public int getData() 
 { 
 return ; 
 } 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
1.4ăCácăkiӇuădӳăliӋu 
• Kiểu giá trị (Value types) 
• Kiểu tham chiếu (Reference types) 
• Kiểu con trỏ (Pointer) 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
a) Mҧng mӝt chiӅu  Khai báo mҧng 
 [mӭc_đӝ_truy_cұp] [ ] ; 
 VD: int[] intArray;  Tҥo thể hiӋn cӫa mҧng 
 = new [số phần tử cӫa mҧng]; 
 VD: intArray = new int[10]; 
* int[] myIntArray = new int[5] { 2, 4, 6, 8, 10}; 
* int[] myIntArray = { 2, 4, 6, 8, 10}; 
* string[] stringArray = { "An", "Linh", "Mai", "Ha", "Tu" };  Truy xuất đến các phẩn tử cӫa mҧng 
 [chӍ số]; 
 VD: intArray[0] = 125; 
 intArray[1] = 25; 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
b) Mҧng nhiӅu chiӅu  Khai báo mҧng 2 chiều 
 [ , ] ; VD: int[ , ] intArray;  Tҥo thể hiӋn cӫa mҧng 2 chiều 
 = new [số hàng, số cӝt]; 
 VD: intArray = new int[3, 3]; 
– string[,] stringArray2 = 
 { 
 {"An","Ha"},{"Nana","Cuong"} 
 }; // Tҥo mҧng 2x2 
– int[,] rectangularArray = 
 { 
 {0,1,2,3}, {4,5,6,7}, {8,9,10,11} 
 }; // Tҥo mҧng 3x4  Truy xuất đến các phẩn tử cӫa mҧng 
 [chӍ số hƠng,chӍ số cӝt]; 
 VD: intArray[0,1] = 32; 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
c) Bҧng các toán tử trong C# 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
c) Bҧng các toán tử trong C# Operators shortcut 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
VIӂTăGHIăCHÚăTRONGăC# 
• Cách 1: // lời ghi chú trên 1 dòng 
• Cách 2: /* lời ghi chú trên nhiều dòng*/ 
 VD: 
 // This is a single-line comment 
/* This comment 
 spans multiple lines */ 
DANHăSÁCHăTӮăKHịAăVÀăĐӎNHăDANH 
1.5ăCácăcấuătrúcălұpătrìnhă 
a) Cấu trúc rẽ nhánh If 
 if() 
 Câu lӋnh(s) 
 [else 
 Câu lӋnh(p)] 
Đúng Sai Đúng 
 LӋnh S 
Điều 
kiện 
 LӋnh P 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
b)ăCấuătrúcălӵaăchӑnăswitchă..ăcase 
switch () 
{ 
 case gt1: 
 //lӋnh 1 
 break; 
 case gt2: 
 //lӋnh 2 
 break; 
 …. 
 //lӋnh n 
 break; 
 [default: 
 //LӋnh n+1 
 break; ] 
} 
switch (integerA) 
{ 
case 1: Console.WriteLine("integerA =1"); 
 break; 
case 2: Console.WriteLine("integerA =2"); 
 break; 
case 3: Console.WriteLine("integerA =3"); 
 break; 
default: 
 Console.WriteLine("integerA is not 
1,2, or 3"); 
 break; 
 } 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
c)ăCấuătrúcălһpăfor 
for (; ; ) 
 Câu lệnh(s) 
0 1 2 3 4 5 6 7 8 9 
10 11 12 13 14 15 16 17 18 19 
20 21 22 23 24 25 26 27 28 29 
30 31 32 33 34 35 36 37 38 39 
40 41 42 43 44 45 46 47 48 49 
50 51 52 53 54 55 56 57 58 59 
60 61 62 63 64 65 66 67 68 69 
70 71 72 73 74 75 76 77 78 79 
80 81 82 83 84 85 86 87 88 89 
90 91 92 93 94 95 96 97 98 99 
VD: 
 class MainEntryPoint { 
 static void Main(string[] args) { 
 // This loop iterates through rows... 
 for (int i = 0; i < 100; i+=10) { 
 // This loop iterates through columns... 
 for (int j = i; j < i + 10; j++) { 
 Console.Write(" " + j); 
 } 
 Console.WriteLine(); 
 } 
 } 
 } 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
d)ăCấuătrúcălһpăwhile 
 while() Câu lệnh(s); 
 VD: 
 class MainEntryPoint { 
 static void Main(string[] args) { 
 int i = 1; 
 Console.Write(“max = “); 
 int max = int.Parse(Console.ReadLine()); 
 while(i<max) 
 { 
 Console.write(“ “+i); 
 i*=2; 
 } 
 } 
 } 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
e)ăCấuătrúcălһpădoă..ăwhile 
 do 
 { 
 Câu lệnh(s); 
 }while();  VD: 
 class MainEntryPoint { 
 static void Main(string[] args) { 
 int i = 1; 
 Console.Write(“max = “); 
 int max = int.Parse(Console.ReadLine()); 
 do 
 { 
 Console.write(“ “+i); 
 i*=2; 
 } while(i<max); 
 } } 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
f)ăCấuătrúcălһpăforeach 
 foreach ( in ) 
 Câu lӋnh(s); 
 VD: 
 class TestForearch 
 { 
 private static string[] sArray = { "An", "Ha", "Hung", "Linh" }; 
 static void Main() 
 { 
 foreach (string s in sArray) 
 { 
 Console.WriteLine(s + "\t"); 
 } 
 Console.ReadKey(); 
 } 
 } 
CHѬѪNGă1.GIӞIăTHIӊUă.NETăFRAMEWORKăVÀăC# 
Bài tұp: Viết chương nhập vào một dãy số 
thực (int). 
1. Viết phương thӭc sắp xếp dãy theo chiều 
tĕng dần. 
2. Hiển thị dãy đã sắp 
3. Tìm max, min cӫa dãy 
changtrailangtu68hy@gmail.com 
classk5lta@gmail.com 
chatnd83@gmail.com 
tuananhvnpt1203@gmail.com 

File đính kèm:

  • pdfBài giảng Lập trình C# - Nguyễn Thị Điệu - Chương 1 Giới thiệu .NET Framework và C#.pdf
Tài liệu liên quan