Câu hỏi 1: Từ khoá params được sử dụng làm gì?
Câu hỏi 2: Ý nghĩa của lệnh lặp foreach? Lệnh này được sử dụng với kiểu dữ liệu nào? Câu hỏi 3: Có mấy kiểu mảng đa chiều trong ngôn ngữ C#. Hãy cho biết từng loại và khi nào thì sử dụng từng loại cho thích hợp.
Câu hỏi 4: Cách tạo ra mảng đa chiều khơng cùng kích thước?
Câu hỏi 5: Hãy cho biết sự khác nhau giữa hai cách gọi Arr[i][j] và Arr[i, j]?
Câu hỏi 6: Có thể dùng lệnh foreach để xuất ra tất cả các thành phần của mảng đa chiều không cùng kích thước hay khơng? Nếu được thì phải làm như thế nào?
Câu hỏi 7: Kiểu dữ liệu nào có thể làm chỉ mục trong bộ chỉ mục của một lớp? Câu hỏi 8: Làm thế nào để biết kích thước của một mảng?
Câu hỏi 9: Liệt kê những giao diện tập hợp mà .NET cung cấp? Cho biết ý nghĩa của từng giao diện?
Câu hỏi 10 : Có cách nào tạo một mảng mà khơng cần khai báo trước kích thước của mảng? Và trong quá trình thực hiện trên mảng chúng ta có thể tăng động kích thước của mảng hay khơng?
Câu hỏi 11 : Nếu mảng có 31 phần tử thì dung lượng của đối tượng ArrayList là bao nhiêu? Trường hợp có 33 phần tử?
Câu hỏi 12 : Hàng đợi là gì? Chúng được sắp xếp theo kiểu thứ tự nào? Ứng dụng của hàng đợi ?
Câu hỏi 13 : Ngăn xếp là gì? Chúng được sắp xếp theo kiểu thứ tự nào? Ứng dụng của ngăn xếp?
Câu hỏi 14 : Phương thức Peek() trong hàng đợi và ngăn xếp có ý nghĩa gì?
Câu hỏi 15 : Kiểu dữ liệu nào cho phép truy cập một giá trị thơng qua khóa của nó? Lớp nào trong .NET hỗ trợ kiểu dữ liệu này?
Câu hỏi 16 : Cách lấy tập giá trị trong một đối tượng Hashtable? Câu hỏi 17 : Cách lấy tập khóa trong một đối tượng Hastable?
Câu hỏi 18 : Khóa có phải là duy nhất trong một Hastable hay không?
Câu hỏi 19 : Nếu hai vùng có chung một khóa thì chúng được tìm kiếm theo kiểu nào? Và tốc độ tìm kiếm?
Câu hỏi 20 : Hashtable thực thi các giao diện tập hợp nào?
Câu hỏi 21 : Phương thức nào thực hiện việc tạo các khoá trong một Hashtable?
Bài tập
Bài tập 1: Viết một chương trình tạo một mảng một chiều nguyên chứa giá trị ngẫu nhiên. Sắp xếp các thành phần trong mảng theo thứ tự tăng dần và hiển thị kết quả. Làm tương tự với trường hợp sắp xếp mảng theo thứ tự giảm dần.
Bài tập 2: Viết một chương trình tạo một mảng một chiều nguyên chứa giá trị ngẫu nhiên. Sắp xếp chúng theo thứ tự số âm thì tăng cịn số dương thì giảm dần. Hiển thị kết quả ra màn hình.
Bài tập 3: Viết một chương trình tìm số lớn nhất và nhỏ nhất trong mảng hai chiều có kích thước cố định. Các thành phần của mảng được phát sinh ngẫu nhiên.
Bài tập 4: Viết chương trình cộng hai ma trận nxm, tức là mảng hai chiều có kích thước n dịng, m cột. Các giá trị của hai mảng phát sinh ngẫu nhiên, cho biết kết quả cộng hai ma trận?
Bài tập 4: Viết chương trình cho phép người dùng nhập vào một ma trận nxm, sao đó tìm kiếm một giá trị nào đó theo yêu cầu người dùng, kết quả của việc tìm kiếm là giá trị và thứ tự của giá trị tìm được trong ma trận.
Bài tập 5: Viết chương trình tạo một mảng hai chiều khơng cùng kích thước. Cố định số dòng của mảng là 5, còn từng dịng có kích thước bằng giá trị của dịng, tứ là dịng thứ nhất có kích thước 1 (tức là có 1 cột), dịng thứ hai có kích thước là 2 (tức là 2 cột).... Các giá trị phát sinh ngẫu nhiên. Hãy xuất kết quả của ma trận theo kiểu sau:
a[i][j] = <giá trị aij> ...
Việc xuất kết quả của ma trận trên có thể thực hiện bằng vịng lặp foreach được khơng? Nếu được thì hãy viết đoạn chương trình xuất ra kết quả?
Bài tập 6: Viết chương trình tạo ra một mảng lưu trữ 30 điểm số của học sinh. Tính trung bình điểm của tất cả học sinh. Xuất kết quả từng điểm và điểm trung bình.
Bài tập 7: Viết một chương trình tạo ra một lớp tên là LopHoc, trong đó có khai báo bộ chỉ mục chỉ đến tên của từng học viên trong lớp. Cho phép một lớp có tối đa 30 học viên. Tạo chương trình minh họa cho phép người dùng nhập vào tên của từng học viên. Xuất kết quả danh sánh học viên của lớp thông qua bộ chỉ mục.
Bài tập 8: Viết chương trình sử dụng ArrayList để tạo một mảng. Chương trình tạo ra một vịng lặp cho phép người dùng nhập vào các giá trị cho mảng. Hãy xuất kết quả mảng cùng với giá trị Count, và Capacity của mảng. Ta có thể thiết lập giá trị Capacity nhỏ hơn giá trị Count được không?
Bài tập 9: Viết chương trình tạo ra đối tượng Queue tên là myQueue. Khởi tạo myQueue có 5 giá trị ngẫu nhiên. Hãy thực hiện các bước sau, mỗi bước thực hiện phải xuất tình trạng của myQueue:
1. Lấy một giá trị ra. 2. Lấy tiếp một giá trị nữa. 3. Xem một giá trị ở đầu queue. 4. Đưa vào queue một giá trị.
Bài tập 10 : Viết chương trình tạo đối tượng Stack tên là myStack. Khởi tạo myStack có 5 giá trị ngẫu nhiên. Hãy thực hiện các bước sau, mỗi bước thực hiện phải xuất tình trạng của myStack:
1. Lấy một giá trị ra. 2. Lấy tiếp một giá trị nữa. 3. Xem một giá trị ở đầu stack. 4. Đưa vào stack một giá trị.
Bài tập 11 : Viết chương trình sử dụng kiểu dữ liệu từ điển để quản lý thông tin của một lớp học. Trong đó khóa là chuỗi mã số học viên còn giá trị là tên của học viên. Viết chương trình minh họa cho phép nhập vào 10 học viên, và cho phép người dùng tìm kiếm tên của học viên thông qua mã số học viên.
Chương 10