static void Main(string[] args)
{
int a=11;
Program pro = new Program();
// Console.WriteLine(pro.test(a).ToString());
pro.check();
Console.ReadLine();
}
public int test(int i)
{
lock (this)
{
if (i > 10)
{
i--;
test(i);
}
}
return i;
}
public void check()
{
// Program a = new Program();
// Program b = new Program();
string a = "test";
string b = "test";
if (a.GetHashCode() == b.GetHashCode())//判断hashcode
{
Console.WriteLine("a和b的hashcode相同");
}
else
{
Console.WriteLine("a和b的hashcode不相同");
}
if (a.GetType() == b.GetType())//判断类型
{
Console.WriteLine("a和b的类型相同");
}
else
{
Console.WriteLine( "a和b的类型不相同");
}
if (a.Equals(b))//判断堆空间
{
Console.WriteLine("a和b的堆空间相同");
}
else
{
Console.WriteLine( "a和b的堆空间不相同");
}
//if (a.StrContent.Equals(b.StrContent))//判断堆空间的某个值
//{
// Console.WriteLine("a和b的堆空间里的值相同");
//}
//else
//{
// Console.WriteLine("a和b的堆空间里的值不相同");
//}
}
a和b的hashcode相同
a和b的类型相同
a和b的堆空间相同
或者不加test内容,则1,3不同