Lập trình .NET và C# - Lecture 2: Ngôn ngữ C#

Tài liệu Lập trình .NET và C# - Lecture 2: Ngôn ngữ C#: 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 Reference. 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. ...

pdf28 trang | Chia sẻ: putihuynh11 | Lượt xem: 488 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Lập trình .NET và C# - Lecture 2: Ngôn ngữ C#, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
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 Reference. 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:

  • pdfcsharp002_1832_1987439.pdf