CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 66

66
Chương 2: Thao tác dữ liệu

Phương thức tĩnh

GetBytes

của lớp

BitConverter

cung cấp nhiều phiên bản nạp chồng cho

phép chuyển hầu hết các kiểu giá trị cơ bản sang mảng kiểu byte. Các kiểu được hỗ trợ là

bool

,

char

,

double

,

short

,

int

,

long

,

float

,

ushort

,

uint

, và

ulong

. Lớp

BitConverter

cũng

cung cấp các phương thức tĩnh cho phép chuyển các mảng kiểu byte thành các kiểu giá trị
chuẩn như

ToBoolean

,

ToUInt32

,

ToDouble

,... Ví dụ sau minh họa cách chuyển các giá trị

bool

int

thành mảng kiểu byte, và ngược lại. Đối số thứ hai trong

ToBoolean

ToUInt32

cho

biết vị trí (tính từ 0) trong mảng byte mà

BitConverter

sẽ lấy các byte kể từ đó để tạo giá trị

dữ liệu.

byte[] b = null;

// Chuyển một giá trị bool thành mảng kiểu byte và hiển thị.

b = BitConverter.GetBytes(true);

Console.WriteLine(BitConverter.ToString(b));

// Chuyển một mảng kiểu byte thành giá trị bool và hiển thị.

Console.WriteLine(BitConverter.ToBoolean(b,0));

// Chuyển một giá trị int thành mảng kiểu byte và hiển thị.

b = BitConverter.GetBytes(3678);

Console.WriteLine(BitConverter.ToString(b));

// Chuyển một mảng kiểu byte thành giá trị int và hiển thị.

Console.WriteLine(BitConverter.ToInt32(b,0));

Đối với kiểu

decimal

, lớp

BitConverter

không hỗ trợ, nên bạn phải sử dụng thêm

MemoryStream

BinaryWriter

.

// Tạo mảng kiểu byte từ giá trị decimal.

public static byte[] DecimalToByteArray (decimal src) {

// Tạo một MemoryStream làm bộ đệm chứa dữ liệu nhị phân.

using (MemoryStream stream = new MemoryStream()) {

// Tạo một BinaryWriter để ghi dữ liệu nhị phân vào stream.

using (BinaryWriter writer = new BinaryWriter(stream)) {

// Ghi giá trị decimal vào BinaryWriter/MemoryStream.

writer.Write(src);

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.