Posted in ACS ( C#)

Một số câu hỏi thường gặp trong môn Adv C#

– Metadata là gì?
là thông tin về dữ liệu, chúng chứa các thông tin về kiểu, mã, phương thức và các assembles. Các bạn có thể liên tưởng đến Attributes nó cũng là một thành phần được thêm vào metadata được dùng để khai báo thông tin về các phương thức, lớp và các đối tượng của bạn thân nó

– Single file Assembly là gì?
Single file Assembly là file chỉ có mình nó không liên quan đến thành phần nào khác

– Multifile file Assembly là gì?
Multifile file Assembly là file có các phần tử bên trong nó liên quan đến các file khác
VD: như là mình có 1 file exe trong đó mình có gọi 1 phần tử nào đó ở 1 file dll nào đó chẳng hạn

– Manifests là gì?
An assembly manifest chứa tất cả các metadata cần thiết để chỉ ra version của assembly. Tất cả các metadata này xác định phạm vi của assembly và giải quyết việc tham chiếu tới các tài nguyên và lớp khác. Assembly manifest có thể đươc lưu trữ trong file exe hoặc dll

– Stream là gì?
Theo mình hiểu thì Stream là 1 luồng dữ liệu, nó đưa dữ liệu từ điểm bắt đầu đến đích của nó. Nó như là 1 câu cầu bắc qua sông, nó sẽ đưa các phương tiện giao thông từ bên này sang bên kia đầu cầu 

– Sự khác nhau giữa các lớp BinaryReader, BinaryWriter, Stream, TextWriter và TextReader
Ban đầu mình cứ hỏi sao nó cho nhiều lớp để đọc và ghi thế? Chẳng biết nên dùng cái nào đây  rồi cuối cùng mình tìm xem nó khác nhau như nào để giải quyết vấn đề mới được, mình nhận thấy thế này
+ Lớp BinaryReader, BinaryWriter là các lớp đọc ghi các dữ liệu từ các byte nhị phân, nó có thể đọc ghi đúng định dạng các kiểu dữ liệu nguyên thủy như là char, int ,float, double …
+ Lớp Stream là lớp trừu tượng, nó đọc ghi dữ liệu từ cá byte.
Ví dụ nhé: lớp FileStream là lớp dẫn xuất từ lớp Stream khi bạn muốn đọc hay ghi file bạn đều phải chuyển dữ liệu đó qua dạng byte hết thì mới đọc ghi được

             try
            {
                string filePath = "a.txt";
                FileStream filestream = new FileStream(filePath, FileMode.Open, FileAccess.Write);
 byte[] info = new UTF8Encoding().GetBytes("Nguyễn Minh Phương"); filestream.Write(info, 0, info.Length);
                filestream.Close();
                filestream.Close();
            }
            catch (IOException ex)
            {
                Console.WriteLine(ex.StackTrace);
            }

+ Lớp TextWriter và TextReader thì tất nhiên khác với lớp Stream nó đọc ghi các ký tự nên stream có nghĩa là bạn có thể viết nguyên định dạng chuỗi nên stream chứ không cần chuyển thành dạng byte như trên nữa 

Tác giả:

Thích thì chiều sao phải xoắn :))

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s