請看下面的代碼。我不能糾正的是,當我們創建類的對象Student
命名爲objStudent1
,我們設置兩個值名稱和卷號,現在它持有的價值對象的範圍和對象在對象類型上的操作
- 名稱:STUDENT2
- 卷號:222
現在我們把這個對象傳遞給一個名爲ChangeName
作爲參數,並在此參數的名稱是objStudent2
功能,我們再次設置相同的值,現在它持有的價值
- 名稱:學生三
- 卷號:333
,然後我們通過設置爲null值objStudent2
對象。
執行完整功能ChangeName
後,它將打印從函數中設置的值,這些值將從對象objStudent1
打印出來。
對數據成員進行的修改是反映,但null不反映在同一對象上的函數之外。
namespace TestApp
{
class Program
{
static void Main(string[] args)
{
Student objStudent1 = new Student();
objStudent1.Name = "Student2";
objStudent1.RollNumber = 222;
ChangeName(objStudent1);
System.Console.WriteLine("Name-" + objStudent1.Name);
System.Console.WriteLine("Roll Number-" + objStudent1.RollNumber);
System.Console.Read();
}
private static void ChangeName(Student objStudent2)
{
objStudent2.Name = "Student3";
objStudent2.RollNumber = 333;
objStudent2 = null;
}
}
class Student
{
public string Name = "Student1";
int _RollNumber = 111;
public int RollNumber
{
get { return _RollNumber; }
set { _RollNumber = value; }
}
}
}
請告訴我這裏發生了什麼事!
我完全困惑!