Tôi đang cố gắng tạo một List<byte>
từ tệp có chứa chuỗi (Hệ thập lục phân). định nghĩa là:Thêm hệ thập lục phân từ tệp vào Danh sách <byte>
List<byte> myArray = new List<byte>();
nếu tôi muốn thêm thông tin của tôi trực tiếp tôi sử dụng một cái gì đó như thế này:
myArray.Add(0xb8);
Lưu ý: Nếu không có bất kỳ báo giá hoặc ngoặc kép.
Vấn đề là khi tôi muốn làm điều tương tự từ tệp! Bây giờ tôi muốn biết những gì loại 0xb8
's là vì vậy tôi sử dụng đoạn mã sau:
0xc3.GetType().ToString()
kết quả là: System.Int32 !!!!
nhưng khi tôi đọc chuỗi từ tệp và sử dụng mã như thế này, nó cho tôi lỗi sau.
mã:
Line = "0xb8";
myArray.Add(Convert.ToInt32(Line));
Lỗi:
Argument 1: cannot convert from 'int' to 'byte'
và rõ ràng. vì quá tải chỉ myArray
chỉ nhận được byte
là lý do. Điều gì làm cho điều phức tạp đối với tôi là lý do tại sao nó không cho tôi bất kỳ lỗi nào khi tôi thêm một số Int32
đến myArray
trong myArray.Add(0xb8);
.
Tôi nghĩ rằng nó phải là một dạng byte! có lẽ !
Tại sao nó không đưa ra bất kỳ lỗi nào và cách hoàn thành kịch bản này (ý tôi là thêm byte từ chuỗi vào myArray)?
'kết quả là: System.Int32 !!!! 'tất nhiên ... một số. Còn gì nữa? – edc65