Mục đích
Phương thức Equals của ushort (UInt16) so sánh giá trị hiện tại với một object hoặc UInt16 khác. Trả về true nếu bằng.
Nạp chồng
Equals(ushort obj)- so sánh trực tiếp, hiệu quả.Equals(object obj)- so sánh với object (boxing).
Ví dụ 1: So sánh hai giá trị khác nhau
using System;
public class Demo
{
public static void Main()
{
ushort val1 = 52;
ushort val2 = 10;
bool res = val1.Equals(val2);
Console.WriteLine($"Kết quả so sánh: {res}");
Console.WriteLine(res ? "val1 = val2" : "val1 != val2");
}
}
Kết quả
Kết quả so sánh: False
val1 != val2
Ví dụ 2: So sánh hai giá trị giống nhau
using System;
public class Demo
{
public static void Main()
{
ushort val1 = 100;
ushort val2 = 100;
bool res = val1.Equals(val2);
Console.WriteLine($"Kết quả so sánh: {res}");
Console.WriteLine(res ? "val1 = val2" : "val1 != val2");
}
}
Kết quả
Kết quả so sánh: True
val1 = val2
Ví dụ 3: So sánh với object
using System;
public class Demo
{
public static void Main()
{
ushort val = 255;
object obj1 = (ushort)255; // boxing ushort
object obj2 = (short)255; // boxing short (kiểu khác)
object obj3 = 255; // boxing int (mặc định)
Console.WriteLine($"val.Equals(obj1): {val.Equals(obj1)}"); // true
Console.WriteLine($"val.Equals(obj2): {val.Equals(obj2)}"); // false (kiểu short)
Console.WriteLine($"val.Equals(obj3): {val.Equals(obj3)}"); // false (kiểu int)
Console.WriteLine($"val.Equals(null): {val.Equals(null)}"); // false
}
}
Lưu ý
- So sánh với object yêu cầu **kiểu chính xác** là UInt16 (không tự động chuyển đổi từ int, short...).
- Ưu tiên
Equals(ushort)để tránh boxing. - Toán tử
==hoạt động ngầm cho các kiểu số.