📄 4-1.cs
字号:
using System;
class TestValueRef
{ public int value; }
class Test
{
public static void Main( )
{
// 值类型,数据存储在栈中
int valOne = 0;
int valTwo = valOne;
int valThree = 333;
valTwo = 333; // 对valOne无影响
// 引用类型,数据存储在堆中,数据的引用(即数据在堆中的地址)存储在栈中
// Ref1和Ref2是TestValueRef类的实例
TestValueRef Ref1 = new TestValueRef( );
TestValueRef Ref2 = Ref1;
Ref2.value = 444;
Console.WriteLine("values from valtype : {0}, {1},{2}", valOne, valTwo,valThree);
Console.WriteLine("values from reftype: {0}, {1}", Ref1.value, Ref2.value);
if(Object.ReferenceEquals(valOne,valTwo))
Console.WriteLine("The references of valOne and valTwo are equal");
else Console.WriteLine("The references of valOne and valTwo are not equal");
if(Object.Equals(valOne,valTwo))
Console.WriteLine("The valOne and valTwo are equal");
else Console.WriteLine("The valOne and valTwo are not equal");
if(Object.ReferenceEquals(valTwo,valThree))
Console.WriteLine("The references of valTwo and valThree are equal");
else Console.WriteLine("The references of valTwo and valThree are not equal");
if(Object.Equals(valTwo,valThree))
Console.WriteLine("valTwo and valThree are equal");
else Console.WriteLine("valTwo and valThree are not equal");
if(Object.ReferenceEquals(Ref1,Ref2))
Console.WriteLine("The references of Ref1 and Ref2 are equal");
else Console.WriteLine("The references of Ref1 and Ref2 are not equal");
if(Object.Equals(Ref1,Ref2))
Console.WriteLine(" Ref1 and Ref2 are equal");
else Console.WriteLine(" Ref1 and Ref2 are not equal");
TestValueRef Ref3 = new TestValueRef( );
Ref3.value = 444;
if(Object.ReferenceEquals(Ref1,Ref3))
Console.WriteLine("The references of Ref1 and Ref3 are equal");
else Console.WriteLine("The references of Ref1 and Ref3 are not equal");
if(Object.Equals(Ref1,Ref3))
Console.WriteLine(" Ref1 and Ref3 are equal");
else Console.WriteLine(" Ref1 and Ref3 are not equal");
if(Object.Equals(Ref2,Ref3))
Console.WriteLine(" Ref2 and Ref3 are equal");
else Console.WriteLine(" Ref2 and Ref3 are not equal");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -