wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Câu hỏi trắc nghiệm về C#, WinForms, ADO.NET và LINQ

Total questions: 59

Worksheet time: 30mins

Name
Class
Date
1.

Mã nguồn C# được Compiler chuyển thành gì?

a)

Machine Code

b)

Assembly

c)

Bytecode

d)

Common Intermediate Language (CIL)

2.

Lệnh chuyển đổi nào sau đây là sai?

a)

Convert.ToInt32(...)

b)

Convert.ToChar(...)

c)

float f = Convert.ToFloat(...) (Trong C# phải là ToSingle)

d)

Convert.ToDouble(...)

3.

C# không có kiểu dữ liệu nào sau đây?

a)

int

b)

decimal

c)

float

d)

single (Kiểu đúng là float hoặc Single viết hoa)

4.

Câu lệnh switch trong C# yêu cầu biểu thức điều kiện phải thuộc kiểu nào?

a)

Kiểu chuỗi

b)

Kiểu số thực

c)

Kiểu boolean

d)

Kiểu số nguyên hoặc enum

5.

Thứ tự các khối catch trong một try-catch phải như thế nào?

a)

Không quan trọng thứ tự

b)

Ngoại lệ tổng quát trước, cụ thể sau

c)

Ngoại lệ cụ thể trước, tổng quát sau

d)

Theo thứ tự alphabet

6.

Yếu tố nào quyết định thứ tự thực hiện các phép toán trong biểu thức phức tạp?

a)

Thứ tự ưu tiên của toán tử

b)

Số lượng toán hạng

c)

Kiểu dữ liệu của toán hạng

d)

Thứ tự viết trong mã nguồn

7.

Để khai báo thành phần tĩnh của lớp, sử dụng từ khóa nào?

a)

static

b)

internal

c)

abstract

d)

frozen

8.

Thuộc tính nào cho biết chỉ số của phần tử được chọn trong ListBox?

a)

SelectedValue

b)

SelectedText

c)

SelectedIndex

d)

SelectedItem

9.

Điều khiển nào hiển thị danh sách mục theo chiều dọc và cho phép chọn?

a)

TreeView

b)

ComboBox

c)

ListBox

d)

CheckedListBox

10.

Thuộc tính nào xác định vị trí của Control trên Form?

a)

Size

b)

Margin

c)

Padding

d)

Location

11.

Thuộc tính AcceptButton của Form dùng để làm gì?

a)

Nút mặc định khi Load

b)

Kích hoạt khi nhấn Esc

c)

Kích hoạt khi nhấn Enter

d)

Hiển thị đầu tiên

12.

Sự kiện Click của Button xảy ra khi…

a)

gọi phương thức PerformClick()

b)

người dùng nhấn phím bất kỳ

c)

người dùng nhấn phím Enter

d)

người dùng double-click chuột

13.

Thuộc tính Enabled ảnh hưởng đến điều khiển như thế nào?

a)

Cho phép hoặc vô hiệu hóa tương tác

b)

Ẩn hoặc hiển thị điều khiển

c)

Thay đổi vị trí

d)

Thay đổi kích thước

14.

Thuộc tính Visible dùng để làm gì?

a)

Xác định điều khiển có hiển thị hay không

b)

Cho phép tương tác

c)

Xác định phạm vi hiển thị

d)

Xác định thứ tự Tab

15.

Sự kiện nào là sự kiện mặc định của TextBox?

a)

TextChange (TextChanged)

b)

KeyDown

c)

KeyPress

d)

KeyUp

16.

Vai trò của BindingContext là gì?

a)

Quản lý bộ nhớ

b)

Quản lý SQL

c)

Quản lý kết nối

d)

Quản lý ngữ cảnh ràng buộc dữ liệu

17.

Để hiển thị dữ liệu và cho phép chỉnh sửa trên DataGridView, nên dùng mô hình nào?

a)

Mô hình kết nối

b)

Mô hình xử lý song song

c)

Mô hình truy vấn trực tiếp

d)

Mô hình ngắt kết nối

18.

Lớp SqlConnection nằm trong namespace nào?

a)

System.Data.Connection

b)

System.Data

c)

System.Data.Sql

d)

System.Data.SqlClient

19.

Để đồng bộ dữ liệu từ DataSet về CSDL, DataAdapter dùng phương thức nào?

a)

ExecuteReader()

b)

Read()

c)

Update()

d)

Fill()

20.

Vì sao ADO.NET tách biệt rõ mô hình kết nối và ngắt kết nối?

a)

Loại bỏ SQL

b)

Giảm số lượng lớp

c)

Linh hoạt lựa chọn cách truy xuất phù hợp

d)

Đơn giản hóa cú pháp

21.

Trong LINQ, Query Syntax phù hợp hơn trong trường hợp nào?

a)

Khi cần cú pháp gần giống SQL

b)

Khi cần gọi nhiều phương thức chuỗi

c)

Khi chỉ truy vấn XML

d)

Khi không sử dụng Lambda

22.

Tại sao Crystal Report tách riêng thiết kế và mã nguồn?

a)

Tăng tốc độ

b)

Để tách biệt trình bày báo cáo và xử lý logic

c)

Loại bỏ DataSet

d)

Giảm số lượng lớp

23.

ShowDialog() thường được sử dụng thay cho Show() khi nào?

a)

Khi cần chặn tương tác với Form gọi nó

b)

Khi cần hiển thị Form song song

c)

Khi không cần nhận kết quả trả về

d)

Khi Form không có điều khiển

24.

Vì sao chỉ phân quyền ở mức menu vẫn chưa đảm bảo an toàn hệ thống?

a)

Vì menu không lưu thông tin người dùng

b)

Vì menu không hiển thị đủ chức năng

c)

Vì menu làm giảm hiệu năng hệ thống

d)

Vì có thể truy cập chức năng ngoài menu

25.

Vì sao cần kết hợp xác thực và phân quyền?

a)

Tăng tốc độ

b)

Giảm tải khoản

c)

Đơn giản giao diện

d)

Để kiểm soát danh tính và phạm vi thao tác

26.

Phân quyền theo chức năng có nghĩa là gì?

a)

Bật hoặc tắt chức năng theo quyền người dùng

b)

Bật hoặc tắt Form

c)

Bật hoặc tắt trợ giúp

d)

Bật hoặc tắt kết nối DB

27.

Xử lý thế nào khi người dùng không có quyền?

a)

Đóng ứng dụng

b)

Cho phép nhưng không lưu

c)

Bỏ qua kiểm tra

d)

Ngăn truy cập và thông báo phù hợp

28.

Phương thức nào hiển thị Form và vô hiệu hóa các Form khác?

a)

Validate()

b)

Activate()

c)

ShowDialog()

d)

Show()

29.

Để hiển thị và sửa dữ liệu trên DataGridView nên dùng cách nào?

a)

Sử dụng DataSet theo mô hình ngắt kết nối

b)

Sử dụng DataReader

c)

Truy vấn trực tiếp SQL

d)

Sử dụng mảng Array

30.

Trong LINQ, Method Syntax phù hợp hơn trong trường hợp nào?

a)

Khi cần xử lý dữ liệu bằng phương thức mở rộng

b)

Khi không sử dụng Lambda

c)

Khi cần cú pháp giống SQL

d)

Khi chỉ truy vấn DataSet

31.

Toán tử as khác cast thông thường ở điểm nào?

a)

Luôn ném exception khi thất bại

b)

Trả về null nếu ép kiểu thất bại

c)

Chỉ dùng cho kiểu giá trị

d)

Không thực hiện ép kiểu

32.

Trong Windows Forms App, lệnh nào sau đây cho phép thoát ứng dụng?

a)

this.Close();

b)

Application.Close();

c)

this.Exit();

d)

Application.Exit();

33.

Phát biểu nào sau đây sai khi nói về phương thức khởi tạo trong C#?

a)

Phương thức khởi tạo có tên trùng với tên lớp

b)

Phương thức khởi tạo không có đối số đầu vào

c)

C# cung cấp phương thức khởi tạo mặc định

d)

Phương thức khởi tạo không có kiểu trả về

34.

Trong nhiều vòng lặp lồng nhau, lệnh break sẽ có tác dụng gì?

a)

Thoát khỏi vòng lặp trực tiếp chứa nó

b)

Thoát khỏi vòng lặp ngoài cùng

c)

Chỉ dừng một lần lặp

d)

Thoát khỏi tất cả vòng lặp

35.

StatusStrip dùng để làm gì?

a)

Hiển thị trạng thái của ứng dụng

b)

Hiển thị menu chức năng

c)

Hiển thị hộp thoại

d)

Nhập dữ liệu người dùng

36.

Khi sử dụng LINQ to SQL, dữ liệu được ánh xạ như thế nào?

a)

Ánh xạ cột thành DataTable

b)

Ánh xạ truy vấn thành DataSet

c)

Ánh xạ bảng thành lớp đối tượng

d)

Ánh xạ dữ liệu thành XML

37.

Sự kiện Click của Button xảy ra khi…

a)

Người dùng nhấn phím bất kỳ

b)

Gọi phương thức PerformClick()

c)

Người dùng nhấn phím Enter

d)

Người dùng double-click chuột

38.

Thuộc tính Anchor có tác dụng gì?

a)

Cố định kích thước Form

b)

Căn giữa điều khiển

c)

Giữ khoảng cách điều khiển khi Form thay đổi kích thước

d)

Gắn điều khiển vào cạnh Form

39.

Khi nhiều điều khiển ràng buộc cùng một nguồn dữ liệu, vai trò của BindingContext là gì?

a)

Quản lý ngữ cảnh ràng buộc dữ liệu

b)

Quản lý thực thi câu lệnh SQL

c)

Quản lý kết nối đến cơ sở dữ liệu

d)

Quản lý bộ nhớ ứng dụng

40.

Trong C#, biến cục bộ có phạm vi hoạt động như thế nào?

a)

Trong khối lệnh bao đóng nó

b)

Trong lớp chứa phương thức

c)

Trong toàn bộ namespace

d)

Toàn bộ chương trình

41.

Trong DataBinding, vì sao cần BindingContext?

a)

Quản lý trạng thái ràng buộc dữ liệu đồng bộ

b)

Quản lý thực thi câu lệnh SQL

c)

Quản lý kết nối cơ sở dữ liệu

d)

Quản lý bộ nhớ DataSet

42.

Sự kiện mặc định của DataGridView là gì?

a)

CellClick

b)

SelectedIndexChanged

c)

CellContentClick

d)

CellValueChanged

43.

Khi sử dụng LINQ với DataSet, dữ liệu được truy vấn từ đâu?

a)

Từ Connection đang mở

b)

Từ dữ liệu đã nạp trong bộ nhớ

c)

Từ Command đang thực thi

d)

Trực tiếp từ cơ sở dữ liệu

44.

Phương thức nào dùng để xuất chuỗi và xuống dòng trong Console?

a)

PrintLine()

b)

Out()

c)

WriteLine()

d)

Write()

45.

Cho đoạn chương trình với các câu lệnh sau: (1) int a; (2) int b = a + 2; (3) bool test = true; (4) Console.WriteLine("{0}, {1}, {2} ", a, b, test); C# sẽ báo lỗi tại câu lệnh nào khi biến chưa khởi tạo?

a)

(1)

b)

(2)

c)

(3)

d)

(4)

46.

Vì sao DataSet có thể chứa nhiều DataTable?

a)

Để thay thế cơ sở dữ liệu

b)

Để tăng tốc độ xử lý

c)

Để mô phỏng cấu trúc dữ liệu quan hệ trong bộ nhớ

d)

Để giảm số lượng câu lệnh SQL

47.

Phân quyền theo chức năng trong ứng dụng có nghĩa là gì?

a)

Bật hoặc tắt toàn bộ Form

b)

Bật hoặc tắt chức năng theo quyền người dùng

c)

Bật hoặc tắt kết nối cơ sở dữ liệu

d)

Bật hoặc tắt tập tin trợ giúp

48.

Mã nguồn C# sẽ được compiler chuyển thành…

a)

Common Intermediate Language

b)

Common Language Runtime

c)

Machine Code

d)

Common Internal Language

49.

Sự khác biệt chính giữa Dock và Anchor là gì?

a)

Dock không thay đổi kích thước

b)

Dock chỉ dùng cho Form

c)

Dock gắn điều khiển vào cạnh, Anchor giữ khoảng cách

d)

Dock chỉ dùng cho Panel

50.

ToolStrip khác MenuStrip ở điểm nào?

a)

Hiển thị các nút công cụ dạng thanh

b)

Không hỗ trợ biểu tượng

c)

Không hỗ trợ sự kiện

d)

Hiển thị menu dạng cây

51.

Sự kiện nào xảy ra khi người dùng thay đổi nội dung TextBox?

a)

Enter

b)

Leave

c)

Click

d)

TextChanged

52.

Khi thiết kế báo cáo nhiều trang, vì sao nên dùng Page Header cho tiêu đề cột?

a)

Vì dùng cho tổng kết

b)

Vì hiển thị dữ liệu chi tiết

c)

Vì chỉ xuất hiện một lần

d)

Vì lặp lại trên mỗi trang

53.

Vì sao cần kết hợp xác thực người dùng và phân quyền?

a)

Để tăng tốc độ xử lý

b)

Để kiểm soát danh tính và phạm vi thao tác

c)

Để đơn giản hóa giao diện

d)

Để giảm số tài khoản

54.

Sau khi đăng nhập, thông tin nào dùng để phân quyền?

a)

Mật khẩu

b)

Thời gian đăng nhập

c)

Nhóm hoặc vai trò người dùng

d)

Chuỗi kết nối

55.

Vì sao cần phân quyền theo cả Form và chức năng?

a)

Để giảm dung lượng lưu trữ

b)

Để kiểm soát truy cập ở nhiều mức

c)

Để đơn giản hóa cấu trúc chương trình

d)

Để tăng số lượng Form

56.

Từ khóa dùng để lớp con cài đặt lại phương thức kế thừa từ lớp cha?

a)

abstract

b)

override

c)

virtual

d)

new

57.

Khi nhiều điều khiển cùng Dock cùng một cạnh, yếu tố nào quyết định thứ tự hiển thị?

a)

ZOrder

b)

Thứ tự thêm điều khiển vào Form

c)

Thứ tự khai báo trong mã nguồn

d)

TabIndex

58.

Phương thức nào của SqlCommand dùng để thực thi truy vấn SELECT?

a)

Execute()

b)

ExecuteQuery()

c)

ExecuteReader()

d)

ExecuteNonQuery()

59.

70% của sĩ số lớp 22 là bao nhiêu người?

a)

14 người

b)

15 người

c)

16 người

d)

17 người