深入研究C#中的对象相等性及其相关方法和接口:==、equals、IEquatable<T>、SequenceEqual、IEqualityComparer<T>
发布时间
阅读量:
阅读量
坦白来说,我查阅了一些相关资料以及msdn文档,但仍然感到有些困惑。
在此记录下一些个人的思考过程。
众所周知,c#语言中存在值类型与引用类型的区分。
==运算符本质上是equals方法的重载形式,针对值类型而言,其比较的是具体的数值内容;而对于引用类型,则用于比较对象在内存中的存储地址。
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 比较相等
{
class Program
{
static void Main(string[] args)
{
int[] a1 = { 2, 4, 6, 8 };
int[] a2 = { 2, 4, 6, 8 };
if ( a1.Equals(a2)) //a1.SequenceEqual(a2))
Console.Write
全部评论 (0)
还没有任何评论哟~
