Q1. Trong những tình huống nào thì giao diện tốt hơn so với các lớp trừu tượng?
Khi bạn cần xác định các đặc điểm của một loại đối tượng, hãy sử dụng một giao diện. Khi bạn cần xác định các khả năng của một loại đối tượng, hãy sử dụng một lớp trừu tượng.
Các giao diện là dạng cũ của C#, và có thể thay thế bằng tính năng lớp trừu tượng mới hơn.
Khi bạn cần một danh sách các khả năng và dữ liệu mà không phụ thuộc vào các lớp, hãy sử dụng một giao diện. Khi bạn cần một loại đối tượng cụ thể chia sẻ các đặc điểm, hãy sử dụng một lớp trừu tượng.
Bạn nên sử dụng cả một giao diện và một lớp trừu tượng khi định nghĩa một đối tượng phức tạp nào đó.
Q2. Tuyên bố nào đúng về delegates?
Delegates không được hỗ trợ trong phiên bản hiện tại của C#
Chúng không thể được sử dụng như là các callback.
Chỉ có biến có thể được truyền vào delegates dưới dạng tham số.
Q5. Sự khác biệt giữa các từ khóa ref và out là gì?
Biến được chuyển để chỉ định rằng tham số là một tham số đầu ra, trong khi ref chỉ định rằng một biến có thể được chuyển vào một hàm mà không cần được khởi tạo.
Biến được chuyển vào ref có thể được chuyển vào một hàm mà không cần được khởi tạo, trong khi out chỉ định rằng giá trị là một giá trị tham chiếu có thể được thay đổi trong phương thức gọi.
Biến được chuyển vào out có thể được chuyển vào một hàm mà không cần được khởi tạo, trong khi ref chỉ định rằng giá trị là một giá trị tham chiếu có thể được thay đổi trong phương thức gọi.
Biến được chuyển vào ref chỉ định rằng tham số là một tham số đầu ra, trong khi out chỉ định rằng một biến có thể được chuyển vào một hàm mà không cần được khởi tạo.
Q16. Trong trường hợp nào tên của những người làm việc trong ví dụ này sẽ được in ra màn hình?
string[]employees = { "Joe", "Bob", "Carol", "Alice", "Will" };IEnumerable<string> employeeQuery = from person in employees
orderby person
select person;
foreach(string employee in employeeQuery)
{
Console.WriteLine(employee);}