Danh mục
Giáo dục phổ thông
Tài liệu chuyên môn
Bộ tài liệu cao cấp
Văn bản – Biểu mẫu
Luận Văn - Báo Cáo
Trắc nghiệm Online
Tự học lập trình với c
Bộ lập chỉ mục
Indexer không phải là một phần quan trọng của lập trình hướng đối tượng. Nhưng chúng mô tả cú pháp tiện lợi cho phép các lớp được sử dụng trực quan hơn. Chúng cho phép bạn truy cập đến một đối tượng nếu nó là một mảng. Thêm một Indexer vào vector : Chúng ta tiếp tục sử dụng struct Vector ở trên để mô tả cách sử dụng Indexer. Để tham khảo đến các thành phần của struct vector với tên x,y,z. Và sự cố là các nhà toán học thường thích xem vector như là mảng với...
6 trang
98 lượt xem
7 lượt tải
Nạp chồng toán hạng
Nạp chồng toán hạng Điểm nổi bật của nạp chồng toán hạng là không phải lúc nào bạn cũng muốn gọi các phương thức hay thuộc tính trên các thể hiện lớp. Chúng ta thường cần làm một số công việc như cộng các số lượng với nhau, nhân chúng hay thực hiện một số toán hạn logic như so sánh các đối tượng. Ví dụ ta định nghĩa một lớp mô tả ma trận toán học. Các ma trận thì có thể cộng, nhân với nhau như các số, nên ta có thể viết đoạn mã như sau: Matrix a,...
14 trang
110 lượt xem
6 lượt tải
Struct
Struct Cú pháp để định nghĩa một struct được mô tả trong ví dụ sau: struct Dimensions { public double Length; public double Width; } Ta thấy Dimensions được định nghĩa như trên gọi là một struct. Một struct dùng để nhóm một số dữ liệu lại với nhau. Trong C#, một struct được định nghĩa gần giống như một lớp chỉ khác từ khoá và một vài điểm như sau: 1.Struct là một kiểu giá trị, không phải là kiểu tham khảo. 2. Struct không hổ trợ thừa kế. 3. Có vài sự khác nhau trong cách làm việc của các...
5 trang
116 lượt xem
13 lượt tải
Các trường chỉ đọc ( Readonly fields)
Hằng là một biến mà chứa một giá trị không thay đổi. Trong C# khái niệm hằng cũng giống như mọi ngôn ngữ khác. Tuy nhiên, hằng thì không cần thiết dùng trong mọi trường hợp. Trong một số trường hợp, bạn có một số biến không bị thay đổi nhưng giá trị của nó chỉ được khởi tạo khi chương trình thực thi. C# hỗ trợ một kiểu biến khác có lợi hơn trong trường hợp này là: các trường chỉ đọc. Từ khoá readonly thì linh động hơn từ khoá const. Bởi vì bạn có thể khởi...
3 trang
77 lượt xem
7 lượt tải
Construction and Disposal
Constructor : Cú pháp khai báo một Constructor là : chúng ta khai báo một phương thức mà cùng tên với lớp và không có kiểu trả về. public class MyClass { public MyClass() { } // rest of class definition Như trong c++ và java, bạn có thể không cần định nghĩa constructor trong lớp của bạn nếu không cần thiết. Nếu bạn không định nghĩa một constructor nào trong lớp của bạn thì trình biên dịch tạo một constructor mặc định để khởi tạo một số giá trị mặc định như: gán chuỗi rỗng cho chuỗi, gán 0...
19 trang
113 lượt xem
8 lượt tải
Giao diện
C# hỗ trợ giao diện (Interfaces). Khi thừa kế một giao diện, một lớp đang khai báo sẽ thực thi những hàm nào đó. Chúng ta sẽ minh họa về giao diện thông qua việc giới thiệu một giao diện đã được Microsoft định nghĩa, System.IDisposable. IDisposable chứa một phương thức Dispose() dùng để xoá mã. public interface IDisposable { void Dispose(); } Trên ví dụ trên ta thấy việc khai báo một giao diện làm việc giống như việc khai báo một lớp Abstract, nhưng nó không cho phép thực thi bất kỳ một thành phần nào của...
12 trang
72 lượt xem
6 lượt tải
Lớp đối tượng
Trong C#, nếu bạn không chỉ rõ rằng một lớp thì thừa kế từ một lớp khác thì trình biên dịch sẽ tự động hiểu rằng lớp của bạn thừa kế từ lớp Object. Đều này có nghĩa là ngoài những thuộc tính và phương thức mà bạn định nghĩa thì bạn có thể truy cập đến những phương thức protected và public của lớp Object. Và những phương thức này cũng có trong tất cả lớp mà bạn định nghĩa. ...
6 trang
60 lượt xem
8 lượt tải
Thuộc tính(properties)
Để định nghĩa thuộc tính trong C# bạn dùng cú pháp sau: public string SomeProperty { get { return "This is the property value"; } set { // do whatever needs to be done to set the property } } Có sự hạn chế thông thường ở đây là: Thủ tục get không có tham số và phải trả về cùng kiểu với thuộc tính đã được khai báo. Bạn không nên khai báo tường minh các tham số trong thủ tục set, mà trình biên dịch sẽ tự động biết là có một tham số cùng kiểu trỏ đến...
5 trang
91 lượt xem
8 lượt tải
Lớp và Thừa kế
Chúng ta đã được xem cách sử dụng lớp trong chương 2 nhưng để nắm được mối liên hệ giữa các chương, chúng tôi sẽ tóm tắt một vài khái niệm về lớp. Lớp trong C# được định nghĩa với cú pháp sau: class MyClass { private int someField; public string SomeMethod(bool parameter) { } } Các lớp bao gồm nhiều thành viên, mỗi thành viên là thuật ngữ(term) dùng để chỉ đến một dữ liệu hay một chức năng nào đó được định nghĩa trong lớp đó. ...
10 trang
94 lượt xem
10 lượt tải
Phương thức
Trong phần này chúng ta sẽ được học làm thế nào để định nghĩa các phương thức trong C#. Khai báo phương thức (Declaring Methods) Cú pháp khai báo trong C# gần như giống với cách khai báo trong C++ và Java. Chỉ khác là mỗi phương thức được khai báo tách biệt public hoặc private. Không thể dùng public để nhóm các phương thức định nghĩa Ngoài ra tất cả các phương thức C# được định nghĩa trong lớp định nghĩa ...
7 trang
58 lượt xem
6 lượt tải
Cấu trúc chương trình
Trước đây chúng ta đã được giới thiệu vài các phần của main 'building blocks' tạo bởi ngôn ngữ C# bao gồm khai báo biến, các kiểu dữ liệu và các câu lệnh của chương trình chúng ta cũng đã thấy đoạn mã ngắn về phương thức hàm main(). Cái chúng ta chưa thấy là làm thế nào để đặt tất cả chúng vào một khung của một chương trình hoàn chỉnh. Để trả lời chúng ta làm việc với các class. Lớp Như bạn đã biết , các class tạo nên một chương trình lớn trong C# ,...
5 trang
86 lượt xem
9 lượt tải
Câu lệnh điều kiện
Câu lệnh điều kiện Câu lệnh điều kiện if : Cú pháp như sau: if (condition) statement(s) [else statement(s)] Xét ví dụ sau: Nếu có nhiều hơn một câu lệnh để thi hành trong câu điều kiện chúng ta sẽ đưa tất cả các câu lệnh này vào trong dấu ngoặc móc ({ ... }) giống như ví dụ dưới đây bool isZero; if (i == 0) { isZero = true; Console.WriteLine("i is Zero"); } else { isZero = false; Console.WriteLine("i is Non-zero"); } Đoạn code trên kiểm tra isZero có bằng 0 hay không. ...
12 trang
91 lượt xem
7 lượt tải
Dữ liệu kiểu trị và kiểu qui chiếu
C# là một ngôn ngữ được kiểm soát chặt chẻ về mặt kiểu dữ liệu, ngoài ra C# còn chia các kiểu dữ liệu thành hai loại khác nhau: kiểu trị (value type) và kiểu qui chiếu (reference type). Nghĩa là trên một chương trình C# dữ liệu được lưu trữ một hoặc hai nơi tuỳ theo đặc thù của kiểu dữ liệu. Chỗ thứ nhất là stack một vùng ký ức dành lưu trữ dữ liệu chiều dài cố định, chẳng hạn int chiếm dụng 4 bytes . Mỗi chương trình khi đang thi hành đều được cấp...
9 trang
73 lượt xem
6 lượt tải
Biến và Hằng
Một biến dùng để lưu trữ giá trị mang một kiểu dữ liệu nào đó. Cú pháp C# sau đây để khai báo một biến : [ modifier ] datatype identifer ; Với modifier là một trong những từ khoá : public, private, protected, . . . còn datatype là kiểu dữ liệu (int , long , float. . . ) và identifier là tên biến. Thí dụ dưới đây một biến mang tên i kiểu số nguyên int và có thể được truy cập bởi bất cứ hàm nào. thí dụ : public int i ; Ta có thể gán...
7 trang
68 lượt xem
10 lượt tải
Tìm hiểu về Intermediate Language – Phần 2
Garbage Collection Garbage collector là một thành phần quản lí bộ nhớ của .NET, nó là một đáp án cho việc thu hồi bộ nhớ của các chương trình thực thi. Từ trước đến giờ có hai công nghệ được sử dụng cho việc huỷ bộ nhớ trong Windows, những tiến trình này được yêu cầu từ hệ thống.
11 trang
58 lượt xem
4 lượt tải
Vai trò của C# trong .NET Enterprise Architecture
C# yêu cầu phải có .NET runtime, trong một vài năm tới hầu hết các máy khách đặc biệt là các máy để bàn sẽ được cài .NET. Vào lúc đó, việc cài đặt các ứng dụng C# sẽ giống như việc tái phân phối các thành phần .NET. Sẽ có nhiều ứng dụng C# được cài đặt trong môi trường thương mại. Thật vậy, C# được coi như là một cơ hội nổi bật cho các tổ chức để có thể tạo những ứng dụng mạnh mẽ, những ứng dụn client-server n-lớp. Khi kết nối với ADO.NET, C#...
4 trang
100 lượt xem
9 lượt tải
Tạo các ứng dụng .NET bằng C#
C# có thể dùng để tạo các ứng dụng console: các ứng dụng thuần văn bản chạy trên DOS window. Hầu như bạn chỉ tạo các ứng dụng console khi cần kiểm tra các thư viện lớp, hoặc cho các tiến trình daemon Unix/Linux. Tât nhiên, bạn cũng có thể dùng C# để tạo các ứng dụng dùng cho các công nghệ tương thích .NET. Trong phần này, chúng ta xem qua về các kiểu ứng dụng khác nhau có thể tạo ra bằng C#. ...
9 trang
140 lượt xem
10 lượt tải
Các lớp .NET Framework
Có lẽ một trong những lợi ích lớn nhất của viết mã có quản, ít nhất là đối với một nhà phát triển, đó là bạn có thể sử dụng thư viện lớp cơ sở của .NET. Thư viện lớp cơ sở của .NET là một tập hợp lớn các lớp mã có quản được viết bởi Microsoft, những lớp này cho phép bạn thao tác rất nhiều các tác vụ sẵn có trong Windows. Bạn có thể tạo các lớp của mình từ các lớp có sẵn trong thư viện lớp cơ sở của .NET dựa trên cơ...
5 trang
100 lượt xem
17 lượt tải
Tìm hiểu về Intermediate Language – Phần 1
Như chúng ta đã biết, Intermediate Language hoạt động như là bản chất của .NET Framework. Là lập trình viên C#, chúng ta nên biết rằng mã C# sẽ luôn được dịch sang Intermediate Language trước khi nó được thực thi (thật vậy, trình biên dịch C# chỉ dịch sang mã có quản). Chúng ta hãy cùng khám phá các tính năng chính của IL, bất kì ngôn ngữ nào hướng .NET cũng sẽ hỗ trợ các đặc tính chính của IL. ...
11 trang
91 lượt xem
6 lượt tải
Assemblies
Một assembly là một đơn vị luận lí chứa mã đã được biên dịch sang .NET. Chúng ta sẽ bàn kĩ về các assemblie trong chương 8, ở đây chúng ta sẽ nói sơ về nó. Một assembly là một tự mô tả đầy đủ, và nó giống một đơn vị luận lí hơn là một đơn vị vật lí, điều đó có nghĩa là nó có thể chứa trong nhiều file (thật vậy các assemblie động được lưu trong bộ nhớ không phải trong file). Nếu một assembly được lưu trong nhiều file, thì sẽ có một file...
5 trang
83 lượt xem
15 lượt tải