admin管理员组文章数量:1033931
C# Equals 和 == 比较
值类型 Equals 与 == 等同; string 经过重写, Equals 与 == 等同; object 类型,string 的特殊性; 其他类 类型。
代码语言:javascript代码运行次数:0运行复制object t = "123";
object a = t;
object b = "123";
Console.WriteLine(a == b);
Console.ReadKey();
代码语言:javascript代码运行次数:0运行复制object t = 1;
object a = t;
object b = 1;
Console.WriteLine(a == b);
Console.ReadKey();
代码语言:javascript代码运行次数:0运行复制object t = 1;
object a = t;
object b = 1;
Console.WriteLine(a.Equals(b));
Console.ReadKey();
Equals 是比较是否同一对象,那么问题来了,有两种意思 是否是同一类型,还是说值相同
代码语言:javascript代码运行次数:0运行复制public class Test
{
public int A { get; set; }
public int B { get; set; }
}
class Program
{
static void Main()
{
Test a = new Test { A = 1, B = 2 };
Test b = new Test { A = 2, B = 1 };
Console.WriteLine(a.Equals(b));
Console.ReadKey();
}
}
结果 False
代码语言:javascript代码运行次数:0运行复制public class Test
{
public int A { get; set; }
public int B { get; set; }
}
class Program
{
static void Main()
{
Test a = new Test { A = 1, B = 2 };
Test b = new Test { A = 1, B = 2 };
Console.WriteLine(a.Equals(b));
Console.ReadKey();
}
}
Equpls 空引用会发生异常, == 不会。 Equals 与 == 区别,在于 null。
C# Equals 和 == 比较
值类型 Equals 与 == 等同; string 经过重写, Equals 与 == 等同; object 类型,string 的特殊性; 其他类 类型。
代码语言:javascript代码运行次数:0运行复制object t = "123";
object a = t;
object b = "123";
Console.WriteLine(a == b);
Console.ReadKey();
代码语言:javascript代码运行次数:0运行复制object t = 1;
object a = t;
object b = 1;
Console.WriteLine(a == b);
Console.ReadKey();
代码语言:javascript代码运行次数:0运行复制object t = 1;
object a = t;
object b = 1;
Console.WriteLine(a.Equals(b));
Console.ReadKey();
Equals 是比较是否同一对象,那么问题来了,有两种意思 是否是同一类型,还是说值相同
代码语言:javascript代码运行次数:0运行复制public class Test
{
public int A { get; set; }
public int B { get; set; }
}
class Program
{
static void Main()
{
Test a = new Test { A = 1, B = 2 };
Test b = new Test { A = 2, B = 1 };
Console.WriteLine(a.Equals(b));
Console.ReadKey();
}
}
结果 False
代码语言:javascript代码运行次数:0运行复制public class Test
{
public int A { get; set; }
public int B { get; set; }
}
class Program
{
static void Main()
{
Test a = new Test { A = 1, B = 2 };
Test b = new Test { A = 1, B = 2 };
Console.WriteLine(a.Equals(b));
Console.ReadKey();
}
}
Equpls 空引用会发生异常, == 不会。 Equals 与 == 区别,在于 null。
本文标签: C Equals 和比较
版权声明:本文标题:C# Equals 和 == 比较 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1748036911a2244866.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论