4-1.cs

来自「java基础方面的一些实例代码」· CS 代码 · 共 51 行

CS
51
字号
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.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 + =
减小字号Ctrl + -
显示快捷键?