1. Trang chủ
  2. » Công Nghệ Thông Tin

TỔNG HỢP LÝ THUYẾT C# pdf

37 1.6K 32

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Các đặc trưng C# Basic Features of C# • Được phát triển MS đạt chuẩn ECMA(European Computer Manufacturers Association) • Là n.ngữ HĐT,hướng kiện, trực quan • Dựa theo ý tưởng ngôn ngữ C, C++, Java, VB • Hỗ trợ đầy đủ net framework • Là ngơn ngữ đơn giản(hạn chế trỏ, khơng có cslớp ảo, đa thừa kế), hiệu quả, module hóa, mạnh ngơn ngữ phổ dụng Viết chạy ứng dụng console Tạo project Dịch chương trình Có thể dịch lệnh dùng IDE Nếu dịnh lệnh đổi đường dẫn sau C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727; Và gõ: csc Nếu dùng IDE ấn F6 để dịch chương trình Chạy chương trình run program Nếu dùng command line gõ tên tệp chạy exe Nếu dùng IDE, ấn Ctrl + F5 Một số khái niệm C# Kiểu liệu Data Types Kiểu liệu C# đc chia thành loại: a Giá trị Value : i Có thể kiểu chuẩn kiểu liệu người dùng định nghĩa ii Kiểu giá trị chứa stack cho kết nhanh b Kiểu tham chiếu Reference types: i Biến tham chiếu lưu trữ heap ii Tất cách kiểu liệu người dùng tự định nghĩa chẳng hạn kiểu lớp kiểu tham chiếu Kiểu liệu chuẩn:  Mỗi kiểu liệu liên quan đến tập giá trị mà chứa phép tốn kiểu  Cần lựa chọn kiểu để lưu trữ cho phù hợp với mục đích sử dụng Kiểu tham chiếu: Từ khóa Nhập xuất Xuất : Console.Write() Console.WriteLine() phương thức chứa tham số ký tự định dạng liệu hiển thị a Console.Write(“Customer name: {0}”, custName); b Console.WriteLine(“Total amount: ${0:#,###.#0}”, totalAmount); Nhập: Console.Read() and Console.ReadLine() custName = Console.ReadLine(); Chuyển đổi liệu Phương thức ReadLine() sử dụng để nhập giá trị trừ giá trị nguyên Dữ liệu nhập chuôi chuyển đổi thành kiểu liệu khác lớp Convert Age = Convert.ToInt32(Console.ReadLine()); Kí tự đặc tả Là ký tự đặc biệt để hiển thọ giá trị biến • Một số loại đặc tả – Đặc tả dạng số: d,c,e,f,n,x – Đặc tả dạng ngày tháng: d,D, f, F,g, m, t, T,y Ví dụ: -DateTime today = DateTime.Now; -Console.WriteLine("short date: {0:d} ", today); -Console.WriteLine("long date: {0:D} ",today); -Console.WriteLine("full date with time: {0:f} ",today); -Console.WriteLine("fulll date with time with second: {0:F} ",today); Lệnh Checked and Unchecked Kiểm tra biểu thức tốn học có bị tràn hay khơng byte numOne = 255; byte numTwo = 1; byte result = 0; try { // This code throws an overflow exception checked { result = (byte)(numOne + numTwo); } Console.WriteLine("Result: " + result); } catch(OverflowException ex) { Console.WriteLine(ex); } Chuyển đổi kiểu Kiểu chứa giá trị lớn gán cho kiểu chứa giá trị nhỏ Ngược lại dùng lệnh ép kiểu Có thể dùng lớp Convert: tostring, toint32, a (kiểu) biến; Ví dụ: int i = 56; float f = 3.14159f; f = i; //ep kieu ngam dinh (khong tuong minh) implicit i = (int)f;//se bi loi neu ban viet int(f) ep kieu tuong minh Boxing Unboxing • • • • • • • • - Sử dụng Boxing Unboxing để chuyển đổi kiểu giá trị sang kiểu tham chiếu hay kiểu tương đương - Khi giá trị boxing giá trị copy sang đối tượng - Đối tượng lưu trữ heap Boxing: object o = i; object o = (object)i; Unboxing: int i = (int)o; int i = 56;Object obj; i = i * 200 - 10; obj = i;//boxing Console.WriteLine(obj); int j = (int)obj;//unboxing Lớp array • • • • Lớp Array lớp sở C# danh cho tất loại mảng Nó cung cấp phương thức để thực chức khác tạo mảng, tìm kiếm, copy xếp mảng Các thuộc tính lớp Array: Length: số phần tử mảng kiểu int32 LongLength:int64 Rank: số nguyên chứa số chiều mảng IsReadOnly, IsFixedSize Các phương thức lớp Array: • Clear: xóa phần tử mảng, đặt kích thước mảng • GetLength, Initialize, SetValue, GetValue, Sort, Copyto,… Ví dụ lớp Array: Array a = Array.CreateInstance(typeof(int),3); a.SetValue(123, 0); a.SetValue(123, 1); a.SetValue(3, 2); for (int i = 0; i < a.Length; i++) Console.WriteLine(a.GetValue(i)); Lớp Dùng để định nghĩa thực thể bao gồm thuộc tính hành động PhanSo int ts,ms Nhap, Xuat, ToiGian, Cong, Tru,… 10 Đối tượng Là thể lớp ½ thể lớp phân số đối tượng có - Thuộc tính: Đặc điểm mơ tả đối tượng - Phương thức: Mô tả hành động yêu cầu tiến hành 11 Lớp đối tượng - Lớp để định nghĩa thực thể, đối tượng thể thực thể - Lớp khái niệm mà tất đặc điểm hành động đối tượng, đối tượng có thật - Tất đối tượng thuộc lớp có đặc điểm hành động - Lớp kiểu liệu mà đối tượng thuộc vào 12 Các chức OOP(lập trình hướng đối tượng) • Tính trừu tượng (abstraction): Đây khả chương trình bỏ qua hay khơng ý đến số khía cạnh thơng tin mà trực tiếp làm việc lên, nghĩa có khả tập trung vào cốt lõi cần thiết Mỗi đối tượng phục vụ "động tử" hồn tất cơng việc cách nội bộ, báo cáo, thay đổi trạng thái liên lạc với đối tượng khác mà không cần cho biết làm cách đối tượng tiến hành thao tác Tính chất thường gọi trừu tượng liệu Tính trừu tượng cịn thể qua việc đối tượng ban đầu có số đặc điểm chung cho nhiều đối tượng khác mở rộng thân đối tượng ban đầu khơng có biện pháp thi hành Tính trừu tượng thường xác định khái niệm gọi lớp trừu tượng hay lớp sở trừu tượng • Tính đóng gói (encapsulation) che giấu thơng tin (information hiding): Tính chất khơng cho phép người sử dụng đối tượng thay đổi trạng thái nội đối tượng Chỉ có phương thức nội đối tượng cho phép thay đổi trạng thái Việc cho phép mơi trường bên ngồi tác động lên liệu nội đối tượng theo cách hoàn toàn tùy thuộc vào người viết mã Đây tính chất đảm bảo tồn vẹn đối tượng • Tính đa hình (polymorphism): Thể thông qua việc gửi thông điệp (message) Việc gửi thơng điệp so sánh việc gọi hàm bên đối tượng Các phương thức dùng trả lời cho thông điệp tùy theo đối tượng mà thơng điệp gửi tới có phản ứng khác Người lập trình định nghĩa đặc tính (chẳng hạn thơng qua tên phương thức) cho loạt đối tượng gần thi hành dùng tên gọi mà thi hành đối tượng tự động xảy tương ứng theo đặc tính đối tượng mà khơng bị nhầm lẫn • Thí dụ định nghĩa hai đối tượng "hinh_vuong" "hinh_tron" có phương thức chung "chu_vi" Khi gọi phương thức đối tượng "hinh_vuong" tính theo cơng thức khác với đối tượng "hinh_tron" Tính kế thừa (inheritance): Đặc tính cho phép đối tượng có sẵn đặc tính mà đối tượng khác có thông qua kế thừa Điều cho phép đối tượng chia sẻ hay mở rộng đặc tính sẵn có mà khơng phải tiến hành định nghĩa lại Tuy nhiên, ngôn ngữ định hướng đối tượng có tính chất Phạm vi truy xuất: • Public • Protected • Private • Internal 13 Hàm tạo - Là loại phương thức đặc biệt lớp Được gọi đối tượng tạo Nó đc dùng để khởi tạo đối tượng Có tên với lớp Khơng có giá trị trả 14 Thành viên tĩnh - Được xem phần tử lớp Có thể truy xuất đến thành viên tĩnh thông qua tên lớp - Trong số ngôn ngữ khai báo biến, hàm tồn cục khơng lệ thuộc vào lớp C# k hợp lệ, thành viên tĩnh lớp - Gọi phương thức tĩnh không cần qua đối tượng, tốt phương thức tồn cục gói vào namespace, trách lộn xộn cách đặt tên - Trong phương thức tĩnh ta không phép truy cập trực tiếp đến thành viên k tĩnh 15 Hàm tạo tĩnh - Nó dùng để khởi tạo cho biến lớp, thực lần thực trước chạy chương trình - Hàm tạo tĩnh hàm tạo khơng có tham số - Dùng mà số cơng việc thực lần làm hàm tạo 16 Xây dựng lớp dẫn xuất Cú pháp: Class lopdx:lopcs { } Ví dụ: Class B:A { } Gọi phương thức: Tênđt.phương_thức Ví dụ: Lớp dẫn xuất thừa kế gì? • All trừ thành phần tĩnh, hàm tạo, hàm hủy, phương thức tốn tử gán • Ở lớp dx gọi hàm tạo lớp sở để khởi gán thuộc tính lớp sở theo cú pháp: – Lopdx():base(){….} Có đặt tên thành phần trùng với lớp sở? • Thuộc tính: • Phương thức: viết cần thêm từ khóa new Ví dụ: Từ khóa sealed Lơp không cho phép lớp dẫn xuất từ Khi khai báo lơp A sealed khai báo Class B:A bị lỗi Từ khóa virtual • virtual để định nghĩa phương thức hỗ trợ cho tương ứng bội • Nó dùng để định nghĩa lại phương thức lớp • Virtual không dùng với static kèm với override • Khai báo phương thức ảo [access modifier] virtual [return-type] name( [parameters-list] ) { //virtual method implementation } Ví dụ:  Bước 8: Đóng kết nối if (objConnect.State != ConnectionState.Closed) { objConnect.Close(); objConnect.Dispose(); } B, Câu lệnh SQL câu Update, Delete, insert  Bước 1, 2, 3, 4, 5: Làm tương tự  Bước 6: Ta dùng đối tượng SqlCommand sau SqlCommand objCommand = new SqlCommand(); objCommand.Connection = objConnect; objCommand.CommandText = strString.ToString(); //Thực thi câu lệnh sql objCommand.ExecuteNonQuery(); objCommand Dispose();  Bước 7: đóng kết nối 25.5 viết mã lệnh cho form  Form có nhiệm vụ sau:  Tạo biểu tượng Icon cho form (Chuẩn bị file ảnh muốn làm biểu tượng ví dụ Book.ico lưu vào thư mục /BanHang/Images)  Mở form tương ứng với mục menu  Tạo biểu tượng Ta viết code cho kiện Load sau: private void frmMain_Load(object sender, EventArgs e) { this.Icon = Icon.ExtractAssociatedIcon(Application.StartupPath + "/Images/Book.ico"); }  Application.StartupPath: Trả đường dẫn thư mục chứa file thực thi ứng dụng: /bin/debug  Mở form tương ứng với mục menu  Giả sử ta chọn menu mnuChatLieu (Chất liệu) mở form tương ứng form chất liệu (frmChatLieu) ta viết code cho kiện click mnuChatLieu sau: private void mnuChatLieu_Click(object sender, EventArgs e) { Forms.frmChatLieu frmCL = new BanHang.Forms.frmChatLieu(); frmCL.ShowDialog(); }  Phương thức Show() # ShowDialog()  frmChatLieu nằm thư mục /BanHang/Forms/ Với form khác tương tự 25.6 Xây dựng lớp xử lý liệu  Ta thấy việc thực thi câu lệnh SQL giống bước  Tham chiếu đến System.Data  Thiết lập chuỗi kết nối, chuỗi lệnh SQL  Thiết lập Connection (SqlConection)  Mở kết nối  Đóng kết nối  Viết hàm để dùng chung: Hàm mở kết nối, hàm đóng kết nối  Khi xây dựng ứng dụng ta phải thao tác với nhiều câu lệnh SQL với bảng khác Quy trình thực chúng giống nhau, khác câu lệnh SQL è Xựng lớp xử lý liệu để dùng chung cho toàn ứng dụng  Thêm file vào dự án Đặt tên DataProcess  Ta viết lớp gồm biến cục chung sau: string connectString = "Data Source=.\\SQLEXPRESS; Initial Catalog=DuLieu;User ID=sa;Password=123456"; SqlConnection objConnect = null;  Lớp gồm phương thức sau:  Phương thức mở kết nối  Phương thức đóng kết nối  Phương thức thực câu lệnh select trả DataTable Phương thức thực câu lệnh SQL: thường dùng viết câu lệnh dạng insert, update, delete 25.7 Phương thức mở kết nối void openConnect() { sqlConect = new SqlConnection(connectString); if (sqlConect.State != ConnectionState.Open) sqlConect.Open(); } 25.8 Phương thức đóng kết nối void closeConnect() { if (sqlConect.State != ConnectionState.Closed) { sqlConect.Close(); sqlConect.Dispose(); } } 25.8 Phương thức thực câu lệnh select trả DataTable public DataTable excuSelect(string sqlString) { openConnect(); SqlDataAdapter dad = new SqlDataAdapter(sqlString, sqlConect); DataSet dts = new DataSet(); dad.Fill(dts, “dtTableName”); DataTable dtName=dts.Tables[0]; closeConnect(); return dtName; } 25.9 Phương thức thực câu lệnh SQL: thường dùng viết câu lệnh dạng insert, update, delete public void excuNonSQL(string sqlString) { openConnect(); SqlCommand sqlcommand = new SqlCommand(); sqlcommand.Connection = sqlConect; sqlcommand.CommandText = sqlString; sqlcommand.ExecuteNonQuery(); sqlcommand.Dispose(); closeConnect(); } 25.10 Sự kiện Load Form  Khi form load lên thì:  Hiển thị liệu có lên gird  Chỉ cho người dùng kích vào nút thêm nút đóng (Nút đóng lúc nhấn) Cịn nút khác bị vơ hiệu hóa è Dùng thuộc tính Enable để xử lý vấn đề  displayData();  resetGrid();  btnThem.Enabled = true;  btnLuu.Enabled = false;  btnSua.Enabled = false;  btnXoa.Enabled = false;  btnBoQua.Enabled= false;  displayData(): phương thức cục có chức đặt liệu lên grid  Để đặt liệu vào grid ta dùng thuộc tính DataSource đầu vào DataTable void displayData() { DataTable dtChatLieu = dtProcess.excuSelect("Select * tblChatLieu"); dtgvChatLieu.DataSource = dtChatLieu; from } 26 Lập trình Windows Form 26.1 Không gian tên:  Khi tạo Project loại Windows Application có khơng gian tên mặc định:  System,  System.Data,  System.Deployment  System.Drawing,  System.Windows.Forms  System.Xml - System.Windows.Forms + Là khơng gian cung cấp lớp dùng để xây dựng ứng dụng Desktop + Các lớp System.Windows.Forms chia thành nhóm sau: - Control, User Control, Form - Menu, Toolbar: ToolStrip, MenuStrip, ContextMenuStrip, StatusStrip - Controls: Textbox, Combobox, Label, Listview, WebBrowser, HtmlDocument + Layout: Giúp định dạng tổ chức điều khiển trình bày Form + Data Data Binding: định nghĩa kiến trúc đa dạng cho việc liên kết liệu nguồn hay tệp tin XML vào điều khiển - VD: DataGridView + Componets: ToolTop, ErrorProvider, HelpProvider + Command Dialog Boxes: Làm việc với File, Font, Color, Print VD: +OpenFileDiaglog, SaveFileDiaglog ColorFileDiaglog… 26.2 Các loại Form  MDI Form:  Form chứa form khác  Thuộc tính isMDIFormContainer=true  VD: Form frm=new Form2() Frm isMDIFormContainer=true Frm.Show() è Tạo Form2 cho Form2 MDI Form  Child Form:  Form nằm MDI Form  Phải khai báo thuộc tính MDIParent ứng với MDI Form  VD: Form Frm=new Form3() Frm isMDIParent=this Frm.Show() è This từ khoá định Form gọi đến Form3 MDI Form  Normal Form:  Không phải MDI Form ChildForm 26.3 Các thuộc tính Form  Nhóm thuộc tính nhận dạng  Name: Tên đối tượng Form Project  Text: Chuỗi hiển thị tiêu đề  ShowIcon=True: Cho Icon góc bên trái; =False: Không  ShowInTaskBar: =True: Khi chạy biểu tượng TaskBar; False: Không  Icon: Cho phép định tệp tin *.ico làm biểu tượng tiêu đề Form  Nhóm thuộc tính Định dạng  BackColor: Màu Form  VD: Form1.BackColor=Color.Azủe;  ForeColor: Màu chuỗi Control Form  StartPossition: Vị trí hiển thị Form  WindowStates: =Minimized (thu nhỏ), Maximized (phóng to), Nomal (trạng thái thiết kế)  isMDIContainer: =True (Form chọn MDI Form); False: không  ControlBox 26.4 Biến cố Form  FormClosed: Thực Form đóng  FormClosing: SỰ kiện đóng Form  Click: Sự kiện Click vào Form  Activated: Xảy Form kích hoạt mã hay tác động người sử dụng  Disactiave: Xảy Form khác kích hoạt hình  Load: Xả nạp Form  KeyPress: Xảy phím nhấn  Resize: Xảy thay đổi kích thước Form 26.5 Phương thức Form  Close(): Dùng để đóng Form  Vd: this.Close()  Hide(): Ẩn form  VD: this.hide  Show(): Nạp form  VD: Frm.Show()  ShowDialog(): Nạp Form dạng Modal  VD: frm.ShowDialog 26.6 Điều khiển thông thường Thuộc tính chung điều khiển:  BackColor: Màu điều khiển  ForeColor: Màu chữ chuỗi trình bày điều khiển  Text: Chuỗi trình bày điều khiển  Visible: Thuộc tính che dấu hay hiển thị điều khiển  Name: Tên điều khiển  Looked: Khố khơng cho di chuyển Form Sự kiện chung điều khiển  Click: Xảy người dùng nhấn chuột phải  MouseMove: Xảy nguời dùng di chuyển chuột qua vùng làm việc cảu điều khiển  MouseUp: Nhấn chuột xuống vùng làm việc cảu điều khiển thả  MouseDown: Nhấn chuột xuống vùng làm việc cảu điều khiển  Move: Xảy di chuyển điều khiển mã hay người sử dụng  REsize: Xảy kích thước điều khiển thay đổi mã hay người sử dụng Tớ cạn sức rồi……AAAAAAAAAAA CHẾT MÔN NÀY MẤT ... tĩnh thơng qua tên lớp - Trong số ngôn ngữ khai báo biến, hàm tồn cục khơng lệ thuộc vào lớp C# k hợp lệ, thành viên tĩnh lớp - Gọi phương thức tĩnh khơng cần qua đối tượng, tốt phương thức tồn... kiểu liệu liên quan đến tập giá trị mà chứa phép tốn kiểu  Cần lựa chọn kiểu để lưu trữ cho phù hợp với mục đích sử dụng Kiểu tham chiếu: Từ khóa Nhập xuất Xuất : Console.Write() Console.WriteLine()... i;//boxing Console.WriteLine(obj); int j = (int)obj;//unboxing Lớp array • • • • Lớp Array lớp sở C# danh cho tất loại mảng Nó cung cấp phương thức để thực chức khác tạo mảng, tìm kiếm, copy xếp

Ngày đăng: 19/06/2014, 09:20

Xem thêm: TỔNG HỢP LÝ THUYẾT C# pdf

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w