C#判断是否当

认清目标是不是等,因为平时因故的一般都是int、bool、string类型的数量是否等。

再者为是只有看清其的“值”是否等。于是都是因此“==”或是Equal()方法来判定。

可是当下并无可知看清出是否也同对象。

下是代码分析:

发图克,Equal()方法是判断指定对象是否有同样的价。

是因为个别只string是直接赋值,就干到字符串池的技能。

由下图可知a1以及a2的地点也是相同。从结果以及各类对比中也可领略:

string 通过new赋值是会有不同目标的,只是字符串的值的一样的。

object.ReferenceQuals()才能确实的判定两单目标是否等。

图片 1

 

图片 2图片 3

 

 

附加:

下是经不同之不二法门宣示了区区个价值一样的字符串。

由于其的地址可知,一个char占一个字节,所以a、b、c之间地址才见面去一个byte的分寸。

再就是仍顺序,c与aa之间的地点去5个byte,e4顶44,这个缘故是由字符串的不可变性。

因而在履a+b时,系统也它们相加的价为了一个地方存储,这里的鲜只字节,

双重将a+b得到的值与c相加,这里是3单字节。所以一共是5单字节。

据此这也致使了aa与bb为歧之对象。

图片 4图片 5

 

相关文章