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

TỔNG QUAN VỀ LẬP TRÌNH TRỰC QUAN VÀ NET FRAMEWORK

173 12 0

Đ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

Thông tin cơ bản

Tiêu đề Tổng Quan Về Lập Trình Trực Quan Và .NET Framework
Tác giả Nhóm tác giả
Người hướng dẫn Thầy Nguyễn Văn B, PGS. Tiến sĩ
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Lập trình ứng dụng
Thể loại Bài giảng
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 173
Dung lượng 6,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ LẬP TRÌNH TRỰC QUAN VÀ .NET FRAMEWORK (6)
    • 1.1. Giới thiệu về Lập trình trực quan (6)
    • 1.2. Tổng quan về .NET Framework (8)
      • 1.2.1. Giới thiệu về .NET Framewwork (8)
      • 1.2.2. Các thành phần chính của .NET Framewwork (8)
      • 1.2.3. Các giai đoạn biên dịch và thi hành chương trình (10)
      • 1.2.4. Kiến trúc của .NET Application (11)
      • 1.2.5. Các phiên bản của .NET Framework (12)
    • 1.3. Làm quen với môi trường lập trình Visual Studio (14)
      • 1.3.1. Khởi động Visual studio 2010 (15)
      • 1.3.2. Giao diện môi trường lập trình Visual C# trên WinForm (16)
    • 1.4. Xây dựng và thực hiện chương trình đầu tiên (21)
      • 1.4.1. Đề bài (21)
      • 1.4.2. Mở đồ án (22)
      • 1.4.3. Thiết kế giao diện (23)
      • 1.4.4. Viết mã lệnh (24)
      • 1.4.5. Chạy chương trình (26)
      • 1.4.6. Dừng chương trình (26)
      • 1.4.7. Mở đồ án đã có (26)
  • CHƯƠNG 2: DỮ LIỆU, CẤU TRÚC ĐIỀU KHIỂN VÀ GỠ RỐI (28)
    • 2.1. Đặc điểm cơ bản của C# (28)
    • 2.2. Biến, hằng và các kiểu dữ liệu (29)
      • 3.2.1. Biến (29)
      • 2.2.2 Hằng (30)
      • 2.2.3. Các kiểu dữ liệu (30)
      • 2.2.4. Chuyển đổi giữa các kiểu dữ liệu (37)
    • 2.3. Hộp thoại thông báo - Message Box (37)
      • 2.3.1. Khái niệm (37)
      • 2.3.2. Hộp thông báo MessageBox (38)
      • 2.3.3. Hàm thông báo MessageBox (39)
    • 2.4. Các câu lệnh điều khiển (40)
      • 2.4.1. Câu lệnh lựa chọn if (40)
      • 2.4.2. Câu lệnh lựa chọn switch … case (40)
      • 2.4.3. Câu lệnh lặp for (41)
      • 2.4.4. Câu lệnh lặp while (42)
      • 2.4.5. Câu lệnh lặp do…while (42)
      • 2.4.6. Câu lệnh lặp foreach (43)
      • 2.4.7. Câu lệnh try...catch (43)
      • 2.4.8. Câu lệnh break (43)
      • 2.4.9. Câu lệnh Continue (43)
    • 2.5. Phương thức trong C# (43)
      • 2.5.1. Định nghĩa phương thức (43)
      • 2.5.2. Gọi phương thức (44)
    • 2.6. Gỡ rối chương trình (44)
      • 2.6.1. Một số giải pháp gỡ rối chương trình (44)
      • 2.6.2. Dò lỗi từng dòng lệnh (45)
  • CHƯƠNG 3: TÌM HIỂU CÁC ĐIỀU KHIỂN CƠ BẢN (49)
    • 3.1. Thuộc tính, phương thức, sự kiện và các mối quan hệ giữa chúng (49)
    • 3.2. Thuộc tính, phương thức, sự kiện của một số điều khiển cơ bản (50)
      • 3.2.1. Form (50)
      • 3.2.2. Hộp văn bản – TextBox (51)
      • 3.2.4. Nhãn – Label (54)
      • 3.2.5. Dòng mách nước – ToolTip (55)
      • 3.2.6. Bài tập (55)
    • 3.3. Một số điều khiển cơ bản khác (57)
      • 3.3.1. Nhóm – GroupBox (57)
      • 3.3.2. Hộp đánh dấu – CheckBox (58)
      • 3.3.3. Nút tùy chọn – RadioButton (59)
      • 3.3.4. Hộp danh sách – ListBox (60)
      • 3.3.5. Hộp lựa chọn – ComboBox (65)
      • 3.3.6. Điều khiển CheckedListBox (68)
      • 3.3.7. Điều khiển NumericUpDown (73)
      • 3.3.8. Thanh cuộn HscrollBar và VscrollBar (75)
      • 3.3.9. Điều khiển Timer (76)
      • 3.3.10. Điều khiển RichTextBox (78)
  • CHƯƠNG 4: CÁC HỘP HỘI THOẠI THÔNG DỤNG (79)
    • 4.1. Hộp hội thoại Open File (79)
    • 4.2. Hộp thoại SaveFile và luồng FileStream (81)
      • 5.2.1. Hộp thoại SaveFile (81)
      • 5.2.2. Luồng FileStream (81)
    • 4.3. Hộp thoại Color (84)
    • 4.4. Hộp thoại Font (86)
  • CHƯƠNG 5: MENU VÀ CÁC ĐỒ ÁN NHIỀU BIỂU MẪU (89)
    • 5.1. Điều khiển MenuStrip (89)
    • 5.2. Popup menu – ContextMenuStrip (91)
    • 5.3. Đồ án nhiều biểu mẫu (93)
      • 5.3.1. Bổ sung biểu mẫu (93)
      • 5.3.2. Biểu mẫu khởi động (94)
      • 5.3.3. Mở biểu mẫu (94)
      • 5.3.4. Đóng biểu mẫu (95)
      • 5.3.5. Xóa biểu mẫu (95)
  • CHƯƠNG 6: LẬP TRÌNH CƠ SỞ DỮ LIỆU (99)
    • 6.1. Giới thiệu về bài toán (99)
      • 6.1.1. Lập trình cơ sở dữ liệu và bài toán quản lý (99)
      • 6.1.2. Cách tổ chức các tài nguyên trong một dự án của bài toán quản lý (100)
    • 6.2. Cách tạo cơ sở dữ liệu (Database) trong môi trường visual studio 2010 (102)
      • 7.2.1. Tạo mới một DataBase (102)
      • 6.2.2. Tạo các bảng CSDL (104)
      • 6.2.3. Tạo quan hệ Relationship cho CSDL (107)
    • 6.3. ADO.NET (ActiveX Data Objects for .NET Framework) (109)
      • 6.3.1. Giới thiệu ADO.NET (109)
      • 6.3.2. Kiến trúc của ADO.NET (111)
      • 6.3.3. Các bước làm việc với CSDL sử dụng ADO.NET (112)
      • 6.3.4. Các đối tượng trong ADO.NET và một số phương thức (112)
    • 6.4. Làm việc với CSDL SQL qua các đối tƣợng: SqlConnection, SqlDataAdaper, SqlCommand (0)
      • 6.4.1. Đối tƣợng SqlConnection (0)
      • 6.4.2. Đối tƣợng SqlDataAdapter và SqlCommand (0)
      • 6.4.3. Các thao tác dữ liệu (124)
    • 6.5. Làm việc với Dataset và DataTale (136)
      • 6.5.1. Cấu trúc của Dataset và DataTable (136)
      • 6.5.2. Các phương thức (136)
    • 6.6. Xuất dữ liệu ra Excel (138)
      • 6.6.1. Làm việc với đối tƣợng Excel (0)
      • 6.6.2. Ví dụ (141)
    • 6.7. In báo cáo với CrystalReport (146)
      • 6.7.1. Cài đặt Crystal report cho visual studio 2010 (147)
      • 6.7.2. Làm việc với CrystalReport thông qua DataSet (147)
  • CHƯƠNG 7: PHÂN PHỐI VÀ CÀI ĐẶT ỨNG DỤNG (159)
    • 7.1. Đặt vấn đề (159)
    • 7.2. Các cách đóng gói và triển khai ứng dụng (160)
    • 7.3. Tạo dự án phân phối (161)
    • 7.4. Tùy biến các lựa chọn đóng gói (164)
      • 7.4.1. Cấu hình các thiết lập (165)
      • 7.4.2. Tạo short cut cho ứng dụng cài đặt (166)
      • 7.4.3. Thiết lập tên công ty và phiên bản chương trình (167)
      • 7.4.1. Đặt các thuộc tính cho gói ứng dụng (168)
    • 7.5. Biên dịch và đóng gói dự án – kiểm tra việc cài đặt (169)
      • 7.5.1. Chạy chương trình cài đặt Setup (170)
      • 7.5.2. Chạy chương trình sau khi cài đặt (172)
    • 7.6. Tìm hiểu các file setup và gỡ chương trình (172)
      • 7.6.1. Kiểm tra file cài đặt (172)
      • 7.6.2. Tháo gỡ chương trình (173)

Nội dung

Bài giảng lập trình trực quan 1 CHƢƠNG 1 TỔNG QUAN VỀ LẬP TRÌNH TRỰC QUAN VÀ NET FRAMEWORK 6 1 1 Giới thiệu về Lập trình trực quan 6 1 2 Tổng quan về NET Framework 8 1 2 1 Giới thiệu về NET Framewwork.

TỔNG QUAN VỀ LẬP TRÌNH TRỰC QUAN VÀ NET FRAMEWORK

Giới thiệu về Lập trình trực quan

Lịch sử phát triển của Tin học gắn liền với quá trình tìm tòi và đổi mới các phương pháp lập trình nhằm giúp người dùng triển khai ứng dụng một cách dễ dàng, nhanh chóng và hiệu quả Từ những ngôn ngữ lập trình đầu tiên đến các mô hình phát triển phần mềm hiện đại, tin học đã mở rộng khả năng giải quyết các bài toán phức tạp và nâng cao năng suất làm việc Việc chuẩn hóa quy trình, tối ưu hóa thuật toán và cải tiến công cụ phát triển đã tạo nền tảng cho sự phổ biến của ứng dụng trên nhiều nền tảng khác nhau Hiện nay, tin học không chỉ hỗ trợ viết mã mà còn tối ưu hóa toàn bộ chu trình phát triển từ ý tưởng đến triển khai, vận hành và bảo trì hệ thống, đồng thời thúc đẩy sự đổi mới trong công nghệ và kinh doanh.

Như chúng ta đã biết, mỗi loại máy tính chỉ hiểu và thực thi trực tiếp các lệnh ở ngôn ngữ máy do CPU xác định Việc viết chương trình bằng ngôn ngữ máy là cực kỳ phức tạp và hao tốn thời gian, đôi khi không thể triển khai được đối với các ứng dụng thực tế Vì vậy, người ta xây dựng các ngôn ngữ lập trình gần với ngôn ngữ tự nhiên nhằm đơn giản hóa quá trình phát triển ứng dụng Các chương trình viết bằng các ngôn ngữ này sau đó phải được dịch sang ngôn ngữ máy trước khi máy tính có thể thực hiện Từ trước đến nay đã có rất nhiều ngôn ngữ lập trình ra đời và đóng vai trò đắc lực trong việc triển khai các ứng dụng trên máy tính.

Trong giai đoạn đầu của sự phát triển, các ngôn ngữ lập trình được xem là dễ học hơn ngôn ngữ máy nhưng lại gây khó khăn cho các lập trình viên khi triển khai các thuật toán phức tạp do chưa đủ mạnh để tối ưu và quản lý luồng xử lý Chúng chưa có tính cấu trúc dữ liệu và tổ chức chương trình chặt chẽ, khiến việc xây dựng các ứng dụng thực tế bằng các ngôn ngữ này gặp nhiều thách thức Vì vậy, việc triển khai sản phẩm phần mềm thực tế từ các ngôn ngữ lập trình này đòi hỏi thêm thời gian học tập, thiết kế và tối ưu hóa để đạt hiệu quả cao.

Giai đoạn 2 đánh dấu sự xuất hiện của các ngôn ngữ lập trình có cấu trúc, được nhận diện bởi tính cấu trúc chặt chẽ về dữ liệu và cách tổ chức chương trình Trong thời kỳ này, nhiều ngôn ngữ có cấu trúc được phát triển và áp dụng rộng rãi, điển hình là PASCAL, C và BASIC.

Giai đoạn 3 là thời kỳ của lập trình hướng đối tượng và có sự biến đổi mạnh mẽ trong các phương pháp lập trình Trong các ngôn ngữ lập trình có cấu trúc, một ứng dụng được xem như sự kết hợp của hai thành phần riêng biệt: dữ liệu và chương trình Dù hai thành phần này có mối quan hệ mật thiết, chúng vẫn tồn tại ở dạng hai đối tượng riêng biệt, mỗi đối tượng bao hàm cả dữ liệu và các phương thức hành động trên dữ liệu đó Nhờ cách tiếp cận này, lập trình hướng đối tượng giúp quá trình phát triển trở nên đơn giản hơn, tăng khả năng kế thừa và tiết kiệm thời gian viết mã.

Trong các phương pháp lập trình hiện đại, lập trình viên phải ghi nhớ một lượng lớn câu lệnh, mỗi câu lệnh có cú pháp và tác dụng riêng biệt Hiểu và áp dụng đúng cú pháp cùng chức năng của từng lệnh là nền tảng để viết mã chính xác Từ đó, việc lắp ghép các câu lệnh thành một chương trình cho phép giải quyết các bài toán cụ thể một cách hiệu quả và có cấu trúc.

Trong xu hướng phát triển mạnh mẽ của tin học ngày nay, số người dùng máy tính gia tăng nhanh chóng và máy tính được ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống, khiến các ngôn ngữ lập trình phải đơn giản, dễ sử dụng và mang tính đại chúng cao Vì vậy, phương pháp lập trình trực quan ra đời để đáp ứng nhu cầu này Các ngôn ngữ lập trình trực quan có đặc điểm dễ dùng và cho phép triển khai ứng dụng một cách nhanh chóng, giúp rút ngắn thời gian phát triển và phổ biến công nghệ lập trình đến với nhiều người dùng Đặc điểm nổi bật của phương pháp lập trình trực quan là tính thân thiện với người dùng và hiệu quả trong việc chuyển ý tưởng thành sản phẩm phần mềm thực tế.

Event-Driven Programming là phương thức xây dựng chương trình ứng dụng theo hướng dựa vào sự kiện xảy ra trong quá trình thực thi Trong mô hình này, chương trình đáp ứng dựa trên tình huống phát sinh thay vì chạy theo một chuỗi lệnh cố định Các tình huống điển hình gồm người dùng nhấn phím tương ứng, lựa chọn một nút lệnh hoặc gọi lệnh từ một ứng dụng khác đang chạy đồng thời Thiết kế theo sự kiện giúp hệ thống linh hoạt xử lý tương tác của người dùng và giao tiếp giữa các ứng dụng khác một cách hiệu quả.

Người lập trình trực tiếp xây dựng giao diện người dùng và ứng dụng bằng cách thao tác trên màn hình dựa vào các đối tượng như hộp thoại và nút điều khiển; mỗi đối tượng mang các thuộc tính riêng biệt như màu sắc và phông chữ, được chọn từ danh sách có sẵn để tùy biến giao diện một cách dễ dàng và trực quan.

Khi sử dụng ngôn ngữ lập trình trực quan, bạn hiếm khi phải tự viết các lệnh hay tổ chức chương trình một cách phức tạp; thay vào đó, chỉ cần khai báo những hành động cần làm khi một tình huống cụ thể xuất hiện.

 Máy tính sẽ dựa vào phần thiết kế và khai báo của lập trình viên để tự động tạo lập chương trình

Như vậy, với kỹ thuật lập trình trực quan, lập trình viên giống như một nhà thiết kế, tổ chức để tạo ra các biểu mẫu và đề xuất các công việc cần thực hiện, sao cho máy tính có thể dựa vào đó để xây dựng chương trình Hiện nay, các ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu theo hướng trực quan được sử dụng phổ biến như Visual C#, Visual Basic, Visual FoxPro, Visual C và Delphi.

Với các đặc điểm nổi bật của lập trình trực quan như đã nêu, môn học này sẽ giới thiệu ngôn ngữ lập trình Visual C# trên nền NET Framework và môi trường phát triển Visual Studio Chúng ta sẽ chọn Visual C# làm ngôn ngữ chính để việc lập trình trở nên trực quan và hiệu quả, đồng thời làm quen với bộ công cụ Visual Studio ở các phiên bản phổ biến như 2005, 2008, 2010 và các bản cập nhật sau.

Tổng quan về NET Framework

1.2 1 Giới thiệu về NET Framewwork

.NET Framework là môi trường thực thi cho mã nguồn của bạn, nơi các chương trình được triển khai và chạy Nó quản lý toàn bộ quá trình thi hành chương trình, bao gồm khởi động, cấp phép hoạt động, cấp phát bộ nhớ và thu hồi bộ nhớ khi không còn dùng đến Bên cạnh đó, NET Framework còn cung cấp thư viện lớp chuẩn, hay NET Base Class Library (Lớp cơ bản NET), cho phép thực hiện vô số tác vụ trên Windows một cách hiệu quả.

Nói tóm lại, NET giữ 2 vai trò: quản lý việc thi hành chương trình của bạn và cung cấp các dịch vụ mà chương trình của bạn cần đến

1.2 2 Các thành phần chính của NET Framewwork

.NET gồm hai thành phần chính: Framework và Integrated Development Environment (IDE) Framework cung cấp đầy đủ các thành phần căn bản để chương trình của bạn có thể thi hành được, còn IDE là môi trường hỗ trợ phát triển giúp quá trình viết mã nhanh chóng và dễ dàng hơn Nếu không có IDE, bạn vẫn có thể triển khai bằng Notepad và command line nhưng sẽ chậm hơn Trong NET, bất kỳ ngôn ngữ lập trình nào như C# hay VB.NET đều sử dụng cùng một IDE, giúp chuẩn hóa quy trình phát triển và tối ưu hóa hiệu quả làm việc.

Hình vẽ sau đây, cho thấy các thành phần chính của NET Framework

Hình 1.1: Các thành phần chính của NET Framework

CLR được xem như linh hồn của kiến trúc NET, là thành phần chịu trách nhiệm quản lý việc thi hành mã của bạn: nạp chương trình, cho chạy đoạn mã theo các mạch trình (thread) nhất định, đồng thời quản lý các mạch trình đó và cung cấp đầy đủ các dịch vụ hỗ trợ để đoạn mã của bạn có thể thi hành Nói cách khác, CLR tạo ra môi trường cho đoạn mã của bạn có thể thực thi.

Tất cả các đoạn mã mà đƣợc chạy trên NET đều đƣợc gọi là đoạn mã đƣợc quản lý

Trong hệ sinh thái NET, các chương trình không được biên dịch trực tiếp thành tập tin thực thi mà sẽ được biên dịch sang một ngôn ngữ trung gian mang tên Microsoft Intermediate Language (MSIL), hay gọi ngắn là Intermediate Language (IL) IL là ngôn ngữ trung gian chuẩn cho mã NET, cho phép nhiều ngôn ngữ NET biên dịch sang cùng định dạng IL và sau đó được CLR biên dịch Just-In-Time thành mã máy khi chạy, giúp tăng tính di động và tối ưu hiệu suất.

Khi bạn biên dịch đoạn mã đƣợc quản lý thì trình biên dịch sẽ cho ra IL, rồi CLR sẽ dịch IL thành mã máy cụ thể

NET Framework base classes (các lớp cơ sở trong NET Framework)

Tầng giữa của NET Framework cung cấp các dịch vụ tổng quát thiết yếu cho hệ thống và có thể được sử dụng bởi mọi ngôn ngữ lập trình Những dịch vụ này đóng vai trò nền tảng, hỗ trợ các chức năng chung, chuẩn hóa giao diện giữa các thành phần và tăng cường tính mở rộng, bảo trì và hiệu suất của ứng dụng.

+ ADO.NET: để truy cập dữ liệu

+ I/O: Để thực hiện vào ra dữ liệu

+ XML: Định dạng dữ liệu thông qua các thẻ định dạng

ADO.NET là công nghệ truy cập cơ sở dữ liệu mới nhất của Microsoft Mặc dù tên gọi ADO.NET viết tắt từ Active Data Objects for NET Framework, nó không phải là công nghệ Active/COM ADO.NET là tập hợp các lớp hướng đối tượng cung cấp các thành phần dữ liệu phong phú, cho phép xây dựng ứng dụng truy cập dữ liệu với hiệu năng cao, bảo mật tốt và khả năng mở rộng theo thời gian trong mô hình Client-server hoặc môi trường phân tán trên Internet và Intranet Trong mô hình ADO.NET, ứng dụng kết nối với nguồn dữ liệu khi đọc hoặc ghi dữ liệu, và đóng kết nối ngay sau thao tác, nhằm tối ưu tài nguyên vì việc giữ mở các đường kết nối liên tục có thể lãng phí nguồn lực trong các ứng dụng Client-server hoặc phân tán.

XML (Extensible Markup Language) là một ngôn ngữ đánh dấu tổng quát dùng để định dạng và mô tả dữ liệu thông qua các thẻ tự định nghĩa, cho phép mở rộng cấu trúc theo nhu cầu ứng dụng Đây là một chuẩn công nghệ ngày càng được áp dụng rộng rãi để trao đổi dữ liệu giữa các hệ thống và nền tảng khác nhau nhờ tính linh hoạt và có cấu trúc của nó Với khả năng mô tả ngữ nghĩa và định dạng dữ liệu rõ ràng, XML hỗ trợ lưu trữ, truyền tải và tích hợp thông tin một cách tin cậy, đồng thời cho phép thêm các thẻ tùy chỉnh mà vẫn duy trì tính tương thích.

Ngoài ra còn có các lớp hỗ trợ lập trình đa luồng, xử lý vào ra dữ liệu (I/O), hỗ trợ bảo mật

ASP.NET và Windows Forms

Tầng trên cùng nhất liên quan đến người sử dụng và giao diện chương trình bao gồm ASP.NET và Windows Forms

Windows Forms (còn gọi tắt là Winform) là một cách mới và hay hơn để làm giao diện trong Win32 Winforms có nhiều điểm khác với VB6

ASP.NET bao gồm Web forms và web services, các ứng dụng ASP.NET

1.2 3 Các giai đoạn biên dịch và thi hành chương trình

Hình vẽ minh họa cho quá trình biên dịch và thi hành chương trình, trong đó các ô hình chữ nhật tượng trưng cho các thành phần (cấu kiện) chính tham gia vào biên dịch và thi hành, còn các mũi tên cho biết các công tác được thực hiện.

Trong hình, tiến trình biên dịch riêng lẻ từng dự án thành một Assembly được thể hiện rõ ràng Những Assembly này có khả năng tương tác với nhau nhờ cơ chế liên thông ngôn ngữ của NET thông qua CTS (Common Type System) – đặc tả dữ liệu dùng chung và CLS (Common Language Specification) – đặc tả ngôn ngữ dùng chung.

Phần dưới cho thấy tiến trình biên dịch JIT (Just in time) từ IL trên các assembly thành đoạn mã hiện hành

Just‑in‑Time (JIT) biên dịch đúng lúc là quá trình chuyển đổi mã từ IL sang mã máy native tại thời điểm chạy Trình biên dịch JIT chuẩn hoạt động theo yêu cầu và chỉ biên dịch những đoạn mã chưa được chuyển đổi trước đó, nhờ vậy việc biên dịch xảy ra chỉ khi cần thiết JIT có khả năng nhận diện các đoạn mã đã được biên dịch và tránh biên dịch lại, giúp tối ưu hóa mã và tăng tốc độ thực thi Khi các ứng dụng NET chạy, cơ chế biên dịch đúng lúc làm cho hiệu suất tổng thể ngày càng nhanh hơn.

1.2.4 Kiến trúc của NET Application

Kiến trúc chung của các ứng dụng được phát triển trong môi trường NET như sau:

Hình 1.3: Kiến trúc của NET Application

Các tầng ở phía dưới là phần cứng, hệ điều hành và Windows API; đây là nền tảng phần mềm cung cấp mọi chức năng và tài nguyên mà các lập trình viên có thể khai thác để xây dựng các tính năng giao tiếp người máy, như trình đơn kéo xuống, tên tệp và các lệnh bàn phím.

Tiếp theo là trình diễn dịch ngôn ngữ thực thi chung (Common Language Runtime - CLR) Nhờ CLR, một ứng dụng có thể được thực thi bất kể ngôn ngữ lập trình nó được viết bằng, vì CLR cung cấp một môi trường chạy đồng nhất cho nhiều ngôn ngữ và tối ưu quá trình thực thi Khái niệm này đã được trình bày chi tiết ở phần trên.

Các lớp cơ sở trong NET Framework cung cấp sẵn các hàm chức năng để phát triển ứng dụng, từ việc hiển thị cửa sổ và biểu mẫu (forms) đến việc gọi các dịch vụ cơ bản của Windows, đọc và ghi tập tin, kết nối mạng và Internet, và truy xuất nguồn dữ liệu từ các cơ sở dữ liệu như SQL Server hoặc Oracle.

Trên cùng là giao diện ứng dụng, có thể gồm 2 loại đó là web forms và windows forms

 Windows forms giống nhƣ forms của VB6 Nó hỗ trợ Unicode hoàn toàn, rất tiện cho chứ Việt và thật sự hướng đối tượng

Web Forms cung cấp các server control hoạt động giống như các điều khiển trong Windows Forms, và đặc biệt có thể dùng mã lệnh để xử lý sự kiện y hệt như trong Windows Forms, giúp phát triển giao diện người dùng trên web linh hoạt và quen thuộc với lập trình viên đã quen với Windows Forms.

1.2 5 Các phiên bản của NET Framework

Ngày 12/2/2002 đánh dấu bước ngoặt quan trọng của NET Framework khi phiên bản 1.0 cùng với Visual Studio NET 2002 chính thức ra mắt, thể hiện sự kết hợp mạnh mẽ giữa nền tảng và công cụ phát triển .NET Framework 1.0 là điểm nhấn nổi bật, mở ra kỷ nguyên mới cho việc xây dựng ứng dụng Windows và trên web bằng các công nghệ hiện đại Sự kiện này định hình cách các nhà phát triển tiếp cận lập trình, tối ưu hóa hiệu suất và khả năng mở rộng với Visual Studio NET 2002.

2002 khác biệt hẳn với Visual Studio 6.0 đã phát hành năm 1998 Lần đầu tiên, Microsoft giới thiệu về “lập trình hợp nhất”, với việc lấy NET Framework làm nền tảng

Làm quen với môi trường lập trình Visual Studio

Để có thể phát triển các ứng dụng NET một cách nhanh chóng ta có thể cài đặt bộ công cụ Visual Studio với một trong các phiên bản sau:

+ Visual studio 2005 – hỗ trợ đến NET Framework 2.0

+ Visual studio 2008 – hỗ trợ đến NET Framework 3.0 và 3.5 Ở tài liệu này tôi sẽ hướng dẫn các bạn làm việc trên Visual Studio 2010

Vào Start\All Programs\Microsoft Visual Studio 2010\Microsoft Visual Studio

2010, xuất hiện cửa sổ Start Page cửa sổ có hiển thị danh sách các đồ án đƣợc mở gần đây nhất nhƣ sau: Để mở một đồ án mới ta vào File/New/Project… hoặc nhấn Ctrl + Shift + N, xuất hiện cửa sổ New Project nhƣ sau:

Select Visual C# as the programming language and Windows Forms Application as the project type, then choose the latest version, NET Framework 4.0 In the Name field, enter the project name, and in the Location field, specify the folder for the project by clicking Browse.

Cuối cùng ta nhấn OK

1.3 2 Giao diện môi trường lập trình Visual C# trên WinForm

Sau khi khởi động Visual Studio 2010 theo các bước như trên xuất hiện cửa sổ môi trường phát triển IDE, có giao diện gồm các thành phần như sau:

ToolBox là hộp công cụ chứa các điều khiển (controls) được đặt lên form khi thiết kế giao diện người dùng Để hiển thị hộp công cụ, ta có thể thực hiện một trong các cách sau:

+ Vào View/Toolbox + Bấm tổ hợp phím Ctrl + Alt + X + Bấm vào biểu tƣợng Toolbox trên thanh công cụ standard

 Title Bar: Thanh tiêu đề chứa tên đồ án

 Menu Bar: Thanh menu chứa đầy đủ các công cụ cần để phát triển, thực thi và cài đặt ứng dụng

+ File: Cho phép mở, thêm mới và lưu trữ đồ án

+ Edit: gồm các thao tác hỗ trợ soạn thảo mã lệnh nhƣ: Copy, cắt, dán, tìm kiếm

View cho phép hiển thị các công cụ hỗ trợ người dùng trong quá trình xây dựng đồ án, bao gồm cửa sổ mã lệnh – code, form thiết kế – designer, hộp công cụ – toolbox, thanh công cụ – toolbar và cửa sổ thuộc tính – Properties; nhờ đó người dùng có thể thao tác nhanh chóng, quản lý thiết kế hiệu quả và tối ưu hóa quy trình làm việc.

+ Project: cho phép bổ sung các đối tƣợng khác nhau vào đồ án nhƣ: Form, các Component, Các class

+ Built: cho phép biên dịch đồ án

+ Debug: cho phép chạy và gỡ rối chương trình

+ Data: Cho phép thêm mới và hiển thị cơ sỏ dữ liệu của đồ án

+ Format: Cho phép căn lề, định dạng kích thước, chế độ hiển thị của các điều kiển đƣợc đặt trên Form

+ Tools: Cung cấp các công cụ cho phép kết nối tới các thiết bị ngoại vi nhƣ Pocket

PC, SmartPhone hoặc kết nối tới các hệ quản trị CSDL cũng nhƣ kết nối tới máy chủ Server

+ Window: kiểm soát cách bố trí cửa sổ

+ Help: Truy cập hệ trợ giúp trực tuyến MSDN

Thanh công cụ là tập hợp các nút lệnh, mỗi nút chứa biểu tượng và chức năng tương ứng với một mục trong thanh Menu, giúp người dùng thực hiện nhanh các thao tác chỉ bằng một cú nhấp chuột Nhờ tính trực quan và tiện dụng, thanh công cụ làm cho việc thao tác trở nên dễ dàng và tiết kiệm thời gian Để gọi và hiển thị các thanh công cụ, người dùng có thể vào View/Toolbars hoặc nhấp chuột phải trên thanh Menu; danh sách tất cả các thanh công cụ sẽ xuất hiện Để ẩn/hiện một thanh công cụ, chỉ cần chọn dòng tên của thanh công cụ đó trong danh sách.

 Form Designer: Cửa sổ thiết kế dùng để thiết kế giao diện cho chương trình, mỗi dự án có thể có một hoặc nhiều Form

Solution Explorer, hay Cửa sổ Giải pháp, là công cụ quản lý tất cả tài nguyên và tệp của dự án trong IDE Nó được tổ chức thành một cấu trúc cây gồm các mục như danh sách Form, danh sách hình ảnh và danh sách class, cùng với các thành phần khác, cho phép bạn xem và quản lý mọi thành phần của dự án một cách trực quan Cửa sổ này giúp tối ưu hoá quá trình làm việc bằng cách duyệt, sắp xếp và thao tác nhanh với tài nguyên dự án Để hiển thị Cửa sổ Giải pháp, ta có thể thực hiện một trong các cách sau: mở từ menu View, dùng thanh công cụ liên quan hoặc nhấn phím tắt phù hợp với môi trường phát triển đang dùng.

+ Bấm tổ hợp phím Ctrl+Alt+L hoặc Ctrl+R

+ Kích chuột vào biểu tƣợng Solution Explorer trên thanh công cụ Standard

Trong cửa sổ Solution Explorer có 2 thành phần quan trọng chúng ta rất hay dùng là

View Code và View Designer

View Code: Có tác dụng hiển thị cửa sổ soạn thảo mã lệnh cho Form đang đƣợc chọn

Ngoài ra, để hiển thị cửa sổ soạn thảo mã lệnh ta có thể làm một trong các cách sau: + Vào View/Code

+ Kích đúp chuột tại cửa sổ thiết kế của Form

View Designer có tác dụng hiển thị cửa sổ thiết kế giao diện của Form đang được chọn Để hiển thị cửa sổ thiết kế giao diện, ta có một số cách khác nhau như nhấp chuột phải lên Form và chọn View Designer, nhấp đúp vào Form trong Solution Explorer, hoặc chọn Design từ menu liên quan Những phương pháp này cho phép xem và chỉnh sửa giao diện một cách trực quan ngay trong môi trường phát triển.

Properties Window là cửa sổ liệt kê tất cả các thuộc tính của form và các điều khiển trong đồ án Để hiển thị thuộc tính của một đối tượng bất kỳ, hãy nhấp chuột vào đối tượng ấy trong cửa sổ thiết kế giao diện hoặc chọn tên đối tượng trong danh sách thả xuống ở phần đầu của cửa sổ Properties Việc quản lý và chỉnh sửa thuộc tính theo cách này giúp tối ưu quá trình thiết kế giao diện và cấu hình các thành phần trong dự án.

Trong quá trình thiết kế và thi hành chương trình, mỗi thuộc tính có một giá trị mặc định và có thể được thay đổi để phù hợp với yêu cầu dự án Bạn có thể chỉnh sửa giá trị các thuộc tính trực tiếp tại cửa sổ Properties khi đang thiết kế, hoặc thay đổi chúng bằng mã lệnh trong lúc chương trình đang chạy Để hiển thị cửa sổ Properties, ta thực hiện một trong các cách phổ biến được hỗ trợ bởi môi trường phát triển mà bạn đang dùng.

+ Kích chuột vào biểu tƣợng Properties Window trên thanh công cụ Standard, hoặc biểu tƣợng Properties trong cửa sổ giải pháp Solution Explorer

+ Bấm tổ hợp phím Alt + Enter

Xây dựng và thực hiện chương trình đầu tiên

Viết chương trình gồm một hộp văn bản TextBox và 3 nút lệnh Button: Display, Clear,

Exit với các yêu cầu sau:

+ Kích chuột vào nút Display thì trong hộp văn bản xuất hiện dòng chữ “Welcome to

+ Kích chuột vào nút Clear chữ ở hộp văn bản biến mất

+ Kích chuột vào nút Exit thì thoát khỏi chương trình quay lại cửa sổ soạn thảo

Mở Visual Studio 2010, chọn File/New/Project… để khởi động một dự án mới Xuất hiện hộp thoại New Project nhƣ sau:

Chọn ngôn ngữ là Visual C#, ứng dụng là Windows Forms Application, phiên bản

NET Framework 4.0 Đặt tên đồ án tại mục Name là FistProgram, chọn nơi lưu đồ án bằng nút Browse, Sau đó nhấn OK

1.4 3 Thiết kế giao diện Đặt tên và tiêu đề cho form

Kích chuột vào vị trí bất kỳ trong Form, trong cửa sổ Properties sửa thuộc tính Name thành frmWelcome, sửa thuộc tính Text là The First Program

Thêm điều khiển hộp văn bản TextBox

Kích chuột vào biểu tƣợng trên hộp công cụ Toolbox, bấm phím trái cùng với giữ và kéo chuột để đặt hộp văn bản trên Form

Khi hộp văn bản lần đầu xuất hiện trên Form, tên mặc định của nó là TextBox1 Để đổi tên, chọn hộp văn bản trong cửa sổ Properties và chỉnh sửa thuộc tính Name, chuyển nó thành txtWelcome.

Thêm điều khiển nút lệnh Button

Để thêm nút lệnh vào Form, nhấp vào biểu tượng trên hộp công cụ Toolbox, giữ nút chuột trái và kéo thả để đặt nút lên Form Nút lệnh này có tên mặc định là Button1 và nội dung hiển thị cũng là Button1, đây là giá trị mặc định khi bạn chèn nó vào dự án.

Tương tự, ta thêm hai nút lệnh Button2 và Button3, và sau đó tiến hành thay đổi hai thuộc tính Name và Text của các nút lệnh như sau.

Chú ý: Mọi điều khiển trong giao diện người dùng đều có thuộc tính Name; để quản lý và gỡ rối khi viết chương trình, ta nên đặt tên điều khiển phản ánh đúng chức năng của nó, đồng thời dùng một tiền tố chỉ loại điều khiển ở phần đầu tên Việc áp dụng quy ước này giúp nhận diện nhanh, tăng tính nhất quán và dễ bảo trì mã nguồn Việc chuẩn hóa tên điều khiển theo chức năng và loại điều khiển sẽ cải thiện khả năng đọc tài liệu hướng dẫn và hiệu quả làm việc khi phát triển giao diện người dùng.

Trong lập trình giao diện người dùng, quy ước đặt tên điều khiển thường dùng các tiền tố viết thường để nhận diện loại, ví dụ txt cho TextBox, btn cho Button, frm cho Form Tên của điều khiển sau tiền tố được viết hoa chữ cái đầu tiên của mỗi từ (PascalCase), ví dụ txtWelcome và btnDisplay Quy ước này giúp cho mã nguồn rõ ràng, nhất quán và dễ bảo trì, đồng thời cải thiện khả năng tìm kiếm và tối ưu hóa nội dung liên quan đến UI trong tài liệu và bài viết kỹ thuật.

 Viết mã lệnh cho nút Display

Ta mở cửa sổ soạn thảo code bằng một trong hai cách sau:

+ Cách 1: Kích đúp chuột vào nút Display

+ Cách 2: Kích chọn đối tƣợng (nút nhấn) btnDisplay Trong cửa sổ Properties chọn biểu tƣợng even, sau đó kích đúp vào sự kiện Click nhƣ hình vẽ sau:

Trong cửa sổ code xuất hiện một hàm để xử lý sự kiện khi người dùng nhấn vào nút

Tiếp theo, ta gõ vào giữa hàm btnDisplay_Click … dòng lệnh gán giá trị “Welcome to

Visual C#” Ta cho thuộc tính Text của điều khiển txtWelcome nhƣ sau:

1 Hầu nhƣ tất cả các hàm xử lý một sự kiện nào đó của các điều khiển trên Form đều có 2 đối số Đối số Sender có kiểu Object đại diện cho đối tƣợng đã phát sinh sự kiện, đối số e có kiểu EventArgs chứa các thông tin về sự kiện nhƣ: vị trí chuột, thời gian phát sinh sự kiện, thời điểm phát sinh sự kiện, … Từ khó Handles nhằm xác định rõ thủ tục đang xử lý dùng cho sự kiện nào của đối tƣợng

2 Ta có cấu trúc chung để gán giá trị cho thuộc tính của một điều khiển khi viết mã lệnh nhƣ sau:

.=

Trong Visual C#, các thuộc tính của điều khiển rất phong phú và Visual Studio cung cấp IntelliSense tự động hiển thị danh sách thuộc tính sau khi gõ tên điều khiển và dấu chấm, giúp lập trình viên nhanh chóng chọn thuộc tính phù hợp Ví dụ, để lựa chọn thuộc tính ta có thể dùng phím mũi tên lên/xuống hoặc gõ chữ cái đầu của thuộc tính, và sau đó nhấn Enter để chèn tự động tên thuộc tính vào dòng lệnh, tăng hiệu quả viết mã và giảm sai sót.

3 Trong môi trường soạn thảo, nếu bạn gõ sai cú pháp thì môi trường lập trình sẽ bắt lỗi ngay bằng cách hiển thị đường gạch chân hình răng cưa ngay dưới chỗ sai, khi sửa xong lập tức đường gạch hình răng cưa bị mất

 Viết mã lệnh nút Clear

 Viết mã lệnh nút Exit

Lệnh this.Close() có tác dụng đóng Form hiện hành lại và xóa tất cả các đối tƣợng của Form ra khỏi bộ nhớ

1.4.5 Chạy chương trình Để chạy chương, ta thực hiện một trong các cách sau:

+ C2: Kích chuột trái vào biểu tƣợng Start Debugging trên thanh công cụ Standard + C3: Nhấn phím F5

Trong quá trình chạy chương trình có thể xuất hiện lỗi Khi gặp lỗi, bạn nên dừng chương trình và quay lại môi trường chỉnh sửa mã nguồn để khắc phục, sau đó áp dụng các phương pháp phổ biến như xem và phân tích thông báo lỗi, kiểm tra log, dùng debugger hoặc breakpoint để theo dõi luồng thực thi, rà soát lại cú pháp và logic, sửa lỗi từng phần một và chạy thử lại để xác nhận rằng lỗi đã được khắc phục.

+ C1: Kích chuột vào biểu tƣợng Stop trên thanh công cụ

+ C3: Nhấn tổ hợp phím Shift + F5

1.4.7 Mở đồ án đã có

From the File menu, choose Open, then Project The Open Project dialog appears; navigate to the folder that contains the project, select the project file whose name matches the project and whose type is Microsoft Visual Studio Solution or Visual C# Project File, and then click OK. -**Support Pollinations.AI:**🌸 **Ad** 🌸 Power your Visual Studio workflow with Pollinations.AI—[Support our mission](https://pollinations.ai/redirect/kofi) to keep smart tech accessible for content creators.

DỮ LIỆU, CẤU TRÚC ĐIỀU KHIỂN VÀ GỠ RỐI

Đặc điểm cơ bản của C#

Để có thể hiểu về C# một cách sơ lƣợc và nhanh chóng ta có thể so sánh C# và C++ nhƣ sau:

- Đều phân biệt chữ hoa, chữ thường

- Mỗi lệnh đƣợc kết thúc bởi dấu chấm phẩy (;)

- Hỗ trợ 2 kiểu chú thích giống nhau

- Đều hỗ trợ lập trình hướng đối tượng

- Các lệnh điều khiển: if, for, while, switch, … có cú pháp giống nhau

Đây là một ngôn ngữ lập trình lai giữa lập trình hướng đối tượng và lập trình hướng chức năng, cho phép kết hợp hai paradigm vào cùng một môi trường phát triển Người dùng có thể xây dựng các kết cấu hướng đối tượng như lớp và đối tượng đồng thời viết mã theo kiểu chức năng, giúp tạo ra các chương trình mang tính chức năng tương tự như trong C Sự kết hợp này mang lại tính linh hoạt cao, cải thiện khả năng tái sử dụng mã nguồn và tối ưu hóa hiệu suất cho các dự án đa dạng.

- Không cho phép tạo chương trình hướng chức năng (tất cả phải là hướng đối tượng)

- Sử dụng từ khóa “include”

- Khái niệm này gọi là “header”

- Sử dụng từ khóa (using)

- Khái niệm này gọi là

Đây là một cái nhìn tổng quan về sự khác biệt giữa C++ và C#, cho thấy những điểm chung và khác biệt ở mức khái quát khi so sánh hai ngôn ngữ này Tuy nhiên khi đi vào chi tiết, hai ngôn ngữ sẽ có những khác biệt rõ rệt về cách xử lý dữ liệu và cấu trúc điều khiển Phần dưới đây đi vào chi tiết về dữ liệu và cấu trúc điều khiển trong C#, giúp người đọc hiểu cách khai báo kiểu dữ liệu, quản lý luồng điều khiển và áp dụng các mẫu lập trình trong C# để so sánh với C++.

Biến, hằng và các kiểu dữ liệu

Là một giá trị dùng để chứa dữ liệu tạm thời trong quá trình tính toán Ta có thể khai báo biến theo cú pháp sau:

[Phạm vi truy xuất] [=]

Trong C#, tên biến có thể dài tối đa 256 ký tự, cho phép các ký tự chữ cái, chữ số và dấu gạch dưới Tên biến bắt buộc phải bắt đầu bằng một chữ cái C# phân biệt chữ hoa chữ thường, do đó 'Index' và 'index' được xem là hai tên biến khác nhau.

Phạm vi truy xuất gồm có:

+ public: Những biến khai báo public có thể đƣợc dùng ở bất kỳ chỗ nào trong lớp đó và cả các lớp khác trong dự án

+ private: Những biến khai báo private thì chỉ đƣợc truy cập ở trong lớp đó

+ protected: Những biến khai báo protected chỉ đƣợc truy cập bên trong lớp chứa nó và những lớp dẫn xuất từ lớp đó

Trong lập trình, hằng chứa dữ liệu có giá trị không đổi trong suốt quá trình tính toán, giúp đảm bảo tính nhất quán và dễ bảo trì Việc dùng hằng làm cho mã nguồn sáng sủa và dễ đọc hơn nhờ đặt tên gợi nhớ thay vì lặp lại các con số cố định; điều này tăng khả năng hiểu nhanh và giảm sai sót khi chỉnh sửa Hằng được khai báo theo cú pháp của ngôn ngữ lập trình tương ứng, ví dụ như const PI = 3.14159; hoặc định nghĩa MAX_COUNT = 100; tùy thuộc vào ngôn ngữ bạn đang dùng Từ khóa và cú pháp khai báo hằng nên được chọn sao cho ý nghĩa của giá trị thể hiện rõ mục đích sử dụng, giúp tối ưu hóa công cụ tìm kiếm cho bài viết về hằng và các khái niệm liên quan đến tính bất biến trong tính toán.

= ;

Ví dụ: const double Pi=3.14 ;

Phạm vi hoạt động của hằng được xác định bởi cách khai báo từ khóa Hằng khai báo với từ khóa private chỉ hoạt động trong phạm vi phương thức nơi nó được định nghĩa, và hằng khai báo cho biểu mẫu chỉ hoạt động trong biểu mẫu đó Ngược lại, hằng khai báo với từ khóa public có phạm vi hoạt động trên toàn ứng dụng, có thể được truy cập từ mọi thành phần của hệ thống.

- Kiểu số nguyên gồm có:

Trong lập trình, các kiểu dữ liệu số nguyên cơ bản được xác định theo kích thước bộ nhớ và phạm vi giá trị Kiểu byte dùng 1 byte và là số nguyên không dấu, có giá trị từ 0 đến 255 Kiểu sbyte cũng dùng 1 byte nhưng là số nguyên có dấu, cho phép giá trị từ -128 đến 127 Kiểu short dùng 2 byte và là số nguyên có dấu với phạm vi từ -32768 đến 32767 Cuối cùng, kiểu ushort dùng 2 byte là số nguyên không dấu với giá trị từ 0 đến 65535.

Int 4 Số nguyên có dấu từ -2.147.483.647 đến 2.147.483.647 uint 4 Số nguyên không dấu 0 – 4.294.967.295 long 8 Kiểu số nguyên có dấu có giá trị trong khoảng

-9.223.370.036.854.775.808 đến 9.223.372.036.854.775.807 ulong 8 Số nguyên không dấu từ 0 đến 0xffffffffffffffff

- Kiểu số thực gồm có:

Kiểu dữ liệu Số byte Mô tả float 4 Kiểu dấu chấm động có giá trị xấp xỉ từ 3,4E-38 đến

Trong lập trình, số dấu chấm động (floating-point) được biểu diễn bằng các kiểu float, double và decimal với đặc tính riêng về phạm vi và độ chính xác Kiểu float (độ chính xác đơn) có phạm vi xấp xỉ từ -3,4E+38 đến 3,4E+38 và có 7 chữ số có nghĩa Kiểu double có độ chính xác gấp đôi so với float, phạm vi từ 1,7E-308 đến 1,7E+308 và có khoảng 15–16 chữ số có nghĩa Kiểu decimal có thể đạt độ chính xác lên tới khoảng 28 chữ số và lưu giữ giá trị thập phân một cách chính xác, phù hợp cho các tính toán tiền tệ và các ứng dụng yêu cầu độ chính xác cao Việc chọn đúng kiểu dữ liệu số dấu chấm động ảnh hưởng tới hiệu suất và độ chính xác của hệ thống, do đó nên cân nhắc mục tiêu kỹ thuật khi thiết kế phần mềm.

Các phép toán số học

+ Cộng (+), trừ (-), nhân (*), chia (/) Các phép toán x[+,-,*,/]=y tương đương với phép toán x=x[+,-,*,/]y

+ Phép chia lấy phần dƣ (%) Ví dụ: 5%3=2

+ Math.Round(x,n): hàm làm tròn số thực x đến n chữ số sau dấu phẩy thập phân, ví dụ: Math.Round(11.346,2) = 11.35

+ Math.Sin(x): hàm tính giá trị của sin(x)

+ Math.Cos(x): hàm tính giá trị của cos(x)

+ Math.Exp(x): hàm tính giá trị của e x

+ Math.Pow(x,y): hàm tính giá trị x y

+ Math.Abs(x): hàm tính giá trị tuyệt đối của x

+ Math.Sqrt(x): hàm tính căn bậc hai của x

+ Sử dụng lớp Random để sinh số ngẫu nhiên:

- B1: Khởi tạo đối tƣợng Random

- B2: Dùng các hàm với ý nghĩa nhƣ sau:

* rd.Next(): Sinh ngẫu nhiên một số kiểu int

* rd.Next(int MinValue,int MaxValue): Sinh ngẫu nhiên một số kiểu int có giá trị từ MinValue đến MaxValue

* rd.Next(int MaxValue): Sinh ngẫu nhiên một số kiểu int có giá trị từ lớn nhất là MaxValue

* rd.NextDouble(): sinh ngẫu nhiên một số kiểu double có giá trị từ 0 đến 1

Các phép toán so sánh

+ Lớn hơn (>), lớn hơn hoặc bằng (>=)

+ Nhỏ hơn (

Ngày đăng: 25/10/2022, 19:02

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

TÀI LIỆU LIÊN QUAN

w