1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Kiến thức cơ bản về lập trình C# không thể bỏ qua

Chủ đề trong 'Gia sư - luyện thi' bởi anhpham1896, 10/08/2018.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. anhpham1896

    anhpham1896 Thành viên tích cực

    Tham gia ngày:
    16/11/2017
    Bài viết:
    221
    Đã được thích:
    1
    C# là ngôn ngữ lập trình đa nền tảng, có thể dùng để xây dựng rất nhiều ứng dụng khác nhau. Học lập trình C# mang đến cơ hội có được việc làm ổn định, lương cao



    C# được phát triển bởi Microsoft, trước kia nó chạy trên nền .NET framework - một trong những nền tảng lập trình hướng đối tượng phổ biến, mạnh mẽ nhất. Và hiện nay, đã có bản .NET Core được hỗ trợ mã nguồn mở và đa nền tảng. Sự xuất hiện của.NET Core đã giúp cho lập trình C# càng trở nên hấp dẫn.

    C# chặt chẽ, hướng đối tượng và ổn định trên các nền tảng khác nhau. Để hiểu rõ hơn về ngôn ngữ lập trình C# chúng ta cùng đi khám phá những thú vị trong nó nhé.

    Sự khác nhau giữa class, object, struct và interface trong C#?

    - Class định nghĩa bởi người dùng là cấu trúc dữ liệu chứa các phương thức và tính chất. Trong class thì object là một trường hợp cụ thể. Object được tạo trong bộ nhớ còn Class không chiếm bộ nhớ.

    - Class là kiểu tham chiếu (các object) được lưu trữ trong heap còn Struct là kiểu giá trị được lưu trữ trong stack.

    - Không bằng hàm khởi tạo, khi struct được khởi tạo người dùng sẽ phải khởi tạo tất cả các Fields trước khi sử dụng nó .

    - Là một hợp đồng Interface gồm một nhóm các phương thức cần được hiện thực.

    [​IMG]

    Sự khác nhau giữa heap và stack?

    - Trong lập trình C#, Stack và heap là các vùng bộ nhớ. Heap nằm giữa Permanent Storage area và stack, độ lớn có thể thay đổi khi thực thi chương trình.

    Sự khác nhau giữa Field và Property?

    - Property dùng để đảm bảo Field không bị gán các giá trị không hợp lệ. Property dùng để quản lý sự truy cập đến Field.

    Đa hình, kế thừa có mục đích gì?

    - Đa hình là một hành động có thể xảy ra theo nhiều cách khác nhau.

    - Kế thừ là để tái sử dụng.

    AppDomain là gì?

    - Là một miền riêng biệt lưu trữ dữ liệu và code cho một application.

    Sự khác nhau giữa event và delegate?

    - Delegate là một lớp đại diện cho hàm con trỏ kiểu an toàn hoặc hàm gọi. Con trỏ hàm được gắn vào một đối tượng đích chứa trong delegate và khi delegate được kích hoạt phương thức sẽ được gọi ở đối tượng đích. Sự hữu ích của delegate là để định nghĩa và dùng các tên hàm khi runtime thay vì compile time mà không nằm ở chỗ giữ địa chỉ tham chiếu của các hàm.

    - Event là một modifier trong khi delegate là một lớp. Event cho phép xác định một delegate sẽ được gọi khi có sự xuất hiện của “sự kiện” nào đó. Event cho phép một delegate được khai báo trong interface.

    [​IMG]

    Sự khác nhau giữa Procedure và OO?

    - Procedure gồm các hàm và các biến, tất cả các hàm đều có thể truy cập đến tất cả các biến. Không thể quản lý các biến.

    - OO gom biến và hàm vào các đơn vị object. Các biến và hàm được quản lý trong nội bộ object. Thông qua các interfaces các object tương tác với nhau.

    Sự khác nhau giữa Coupling và Cohesion

    - Cohesion là sự liên kết giữa các thành phần trong một module. Một thiết kế tốt nên có sự liên kết giữa các thành phần thật chặt chẽ.

    - Coupling là sự kết nối giữa các module với nhau. Một thiết kế tốt nên có sự kết nối thật lỏng lẽo giữa các module.

    Các mâu thuẫn giữa RDBMS và OO?

    - Cấu trúc cấp bậc trong RDBMS chỉ có 4 loại table, row, column, cell trong khi OO có thể là vô tận.

    - Các đối tượng trong OO bản thân là phân biệt trong khi trong RDBMS cần phải có primary-key.

    - Các đối tượng trong OO có thể tham chiếu đến nhau rất đơn giản nhưng trong RDBMS thì phức tạp thông qua JOIN

    - Sự thừa kế trong OO là đơn giản trong khi trong RDBMS hầu như không có khái niệm đó. Một bảng cần chứa tất cả các tính chất, có khi là thừa.

    - Các đối tượng trong OO có thể có các hành động tác động đến tối tương khác.trong RDBMS thì phức tạp thông qua TRIGGER

    - Khả năng truy cập trong OO là hạn chế trong khi ở RDBMS là không giới hạn.

    Hy vọng với những chia sẻ trên, các bạn sẽ có cho mình thêm những kiến thức về lập trình C#.

    Bên cạnh đó, Stanford sẽ cung cấp loạt video hướng dẫn lập trình C# cơ bản miễn phí với các kiến thức từ cơ bản đến nâng cao. Link video:

    https://www.youtube.com/playlist?list=PLfuyf4LvBOUqCdpsAkq4M5WSu1kUvAZ5h

    -----

    STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ

    Hotline: 0936 172 315 - 024. 6275 2212

    Website: http://stanford.com.vn/

Chia sẻ trang này