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.