c#字符串值類型與援用類型比擬示例。本站提示廣大學習愛好者:(c#字符串值類型與援用類型比擬示例)文章只能為提供參考,不一定能成為您想要的結果。以下是c#字符串值類型與援用類型比擬示例正文
classProgram
{
staticvoid Main()
{
int a = 9; //給變量a賦值為9
int b = a; //將a的正本給變量b
b = 10;
Console.WriteLine(string.Format("a={0},b={1}", a, b));
Person ZS = newPerson(); //張三
ZS.Age = 99; //張三的年紀是99
Person SM = ZS; //三毛等於張三,即張三和三毛就是統一小我
SM.Age = 100; //三毛年紀釀成100,張三也就釀成了100
Console.WriteLine(string.Format("A={0},B={1}", ZS.Age, SM.Age));
Console.ReadKey();
}
}
classPerson
{
publicint Age { get; set; }
}
雷同的構造,分歧的成果。
證實string是援用類型
using System;
classProgram
{
staticvoid Main()
{
int n = 99;
Console.WriteLine("Before:n={0}", n.GetHashCode());
//此時獲得到的哈希碼值就是n的變量值
GetInt(n);
string s = "Hello";
Console.WriteLine("Before:s={0}", s.GetHashCode());
GetString(s);
Console.ReadKey();
}
staticint GetInt(int n)
{
Console.WriteLine("After:m={0}", n.GetHashCode());
//傳過去的是變量值,解釋這是值傳遞
return n;
}
staticstring GetString(string s)
{
Console.WriteLine("After:s={0}", s.GetHashCode());
//傳過去的是地址而不"Hello",解釋這時候援用傳遞
return s;
}
}