Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Cấu trúc Byte trong C#

Tổng quan

Byte là kiểu giá trị (struct) đại diện cho số nguyên không dấu 8-bit, phạm vi từ 0 đến 255. Nó nằm trong namespace System và thường dùng để xử lý dữ liệu nhị phân, I/O, mạng, mã hóa...

Các trường (Fields) quan trọng

Trường Mô tả
MaxValue Giá trị lớn nhất của Byte (255). Hằng số.
MinValue Giá trị nhỏ nhất của Byte (0). Hằng số.

Các phương thức thường dùng

Phương thức Mô tả
CompareTo(Byte) So sánh instance hiện tại với một Byte khác.
CompareTo(Object) So sánh với một object.
Equals(Byte) Kiểm tra bằng giá trị Byte khác.
Equals(Object) Kiểm tra bằng object.
GetHashCode() Trả về mã băm.
GetTypeCode() Trả về TypeCode.Byte.
Parse(string) Chuyển chuỗi thành Byte.
TryParse(string, out Byte) Thử chuyển, an toàn hơn Parse.
ToString() Chuyển thành chuỗi, hỗ trợ định dạng (D, X, v.v.).

Ví dụ 1: Phân tích chuỗi thành Byte

using System;

public class Demo
{
    public static void Main()
    {
        string str = "186";
        try
        {
            byte val = Byte.Parse(str);
            Console.WriteLine($"Giá trị Byte: {val}");
        }
        catch (OverflowException)
        {
            Console.WriteLine($"'{str}' vượt quá phạm vi Byte (0-255).");
        }
        catch (FormatException)
        {
            Console.WriteLine($"'{str}' không đúng định dạng số.");
        }
    }
}

Kết quả

Giá trị Byte: 186

Ví dụ 2: Định dạng xuất Byte (Decimal, Hex)

using System;

public class Demo
{
    public static void Main()
    {
        byte[] arr = { 0, 10, 50, 90, 100, 150 };

        Console.WriteLine($"{"Giá trị",-10} {"D4 (Dec)",-10} {"X4 (Hex)"}");
        foreach (byte b in arr)
        {
            Console.WriteLine($"{b,-10} {b.ToString("D4"),-10} {b.ToString("X4")}");
        }
    }
}

Kết quả

Giá trị    D4 (Dec)   X4 (Hex)
0          0000       0000
10         0010       000A
50         0050       0032
90         0090       005A
100        0100       0064
150        0150       0096

Lưu ý

  • Byte là kiểu unsigned, không lưu trữ số âm.
  • Khi chuyển từ kiểu số lớn hơn (int, long), cần kiểm tra tràn số (overflow).
  • Sử dụng Byte.TryParse để tránh exception khi nhập liệu từ người dùng.