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

Phương thức SByte.ToString() trong C# với ví dụ

Phương thức SByte.ToString() trong C# được dùng để chuyển đổi giá trị số của instance này thành biểu diễn chuỗi tương đương. SByte là số nguyên có dấu 8-bit (phạm vi -128 đến 127).

Cú pháp

public override string ToString();

Cũng hỗ trợ các nạp chồng với định dạng: ToString(string format), ToString(IFormatProvider), ToString(string, IFormatProvider).

Ví dụ 1: ToString cơ bản, CompareTo, GetHashCode, GetTypeCode

using System;

public class Demo
{
    public static void Main()
    {
        sbyte s1 = 10;
        sbyte s2 = 100;

        Console.WriteLine("Giá trị S1 = " + s1);
        Console.WriteLine("Giá trị S2 = " + s2);

        int res = s1.CompareTo(s2);
        if (res > 0)
            Console.WriteLine("s1 > s2");
        else if (res < 0)
            Console.WriteLine("s1 < s2");
        else
            Console.WriteLine("s1 = s2");

        Console.WriteLine("\nMã băm cho s1 = " + s1.GetHashCode());
        Console.WriteLine("TypeCode cho s1 = " + s1.GetTypeCode());
        Console.WriteLine("Biểu diễn chuỗi cho s1 = " + s1.ToString());

        Console.WriteLine("\nMã băm cho s2 = " + s2.GetHashCode());
        Console.WriteLine("TypeCode cho s2 = " + s2.GetTypeCode());
        Console.WriteLine("Biểu diễn chuỗi cho s2 = " + s2.ToString());
    }
}

Kết quả

Giá trị S1 = 10
Giá trị S2 = 100
s1 < s2
Mã băm cho s1 = 2570
TypeCode cho s1 = SByte
Biểu diễn chuỗi cho s1 = 10
Mã băm cho s2 = 25700
TypeCode cho s2 = SByte
Biểu diễn chuỗi cho s2 = 100

Ví dụ 2: So sánh với MaxValue

using System;

public class Demo
{
    public static void Main()
    {
        sbyte s1 = 99;
        sbyte s2 = SByte.MaxValue; // 127

        Console.WriteLine("Giá trị S1 = " + s1);
        Console.WriteLine("Giá trị S2 = " + s2);
        Console.WriteLine("s1 và s2 bằng nhau? = " + s1.Equals(s2));

        int res = s1.CompareTo(s2);
        if (res > 0)
            Console.WriteLine("s1 > s2");
        else if (res < 0)
            Console.WriteLine("s1 < s2");
        else
            Console.WriteLine("s1 = s2");

        Console.WriteLine("Biểu diễn chuỗi cho s1 = " + s1.ToString());
        Console.WriteLine("Biểu diễn chuỗi cho s2 = " + s2.ToString());
    }
}

Kết quả

Giá trị S1 = 99
Giá trị S2 = 127
s1 và s2 bằng nhau? = False
s1 < s2
Biểu diễn chuỗi cho s1 = 99
Biểu diễn chuỗi cho s2 = 127

Các định dạng số (Standard Numeric Format Strings)

Định dạng Ví dụ (sbyte = 100) Mô tả
\"G\" hoặc không tham số 100 General (mặc định)
\"D3\" 100 Decimal, tối thiểu 3 chữ số
\"X\" 64 Hexadecimal chữ hoa
\"x\" 64 Hexadecimal chữ thường
\"N0\" 100 Number với phân cách nhóm

SByte vs byte

Đặc điểm sbyte (SByte) byte (Byte)
Phạm vi -128 đến 127 0 đến 255
Kích thước 8-bit 8-bit
CLS-Compliant Không Có
Alias C# sbyte byte

Lưu ý

  • SByte không tuân thủ CLS (Common Language Specification), tránh dùng trong public API cross-language.
  • Ưu tiên dùng byte (unsigned) hoặc short/int cho signed.
  • ToString() hoạt động giống các kiểu số nguyên khác.