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

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

Phương thức SByte.Equals kiểm tra xem instance hiện tại có bằng một đối tượng hoặc giá trị sbyte khác không. Có hai overload: Equals(sbyte) và Equals(object).

Cú pháp

public bool Equals(sbyte obj);
public override bool Equals(object obj);

Ví dụ 1: So sánh hai giá trị sbyte

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);
        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");
    }
}

Kết quả

Giá trị S1 = 10
Giá trị S2 = 100
s1 và s2 bằng nhau? = False
s1 < s2

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

using System;

public class Demo
{
    public static void Main()
    {
        sbyte s1 = 10;
        object s2 = 10; // boxed sbyte

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

Kết quả

Giá trị S1 = 10
Giá trị S2 = 10
s1 và s2 bằng nhau? = False

Giải thích: Overload Equals(object) trả về false nếu obj không phải là sbyte (ví dụ: int, short). Trong ví dụ 2, s2 là object chứa int (vì literal 10 mặc định là int), nên so sánh thất bại. Ép kiểu (sbyte)10 sẽ cho true.