簡體   English   中英

包含另一個int變量的int變量是否會被視為引用類型?

[英]Would an int variable containing another int variable be considered a reference type?

我知道值類型直接保存值(int,bool等),而引用類型(如類)保存對值存儲位置的引用。 我還沒有在其他有關引用和值類型的帖子中找到此特定問題的答案。

int x = 10;
int y = x;

// Would y be considered a reference type?

我之所以這樣問,是因為“ int x”是值類型,“ y”並不直接持有值,而是“引用”“ x”(內存中的另一個位置)。

y被認為是引用類型?

沒有。

引用類型與值類型是類型本身的屬性,而不是該類型的任何變量。 類型int是一個值類型; 因此,所有int類型的變量都是值類型的變量。

在您的特定情況下,為y分配x的值后,它將獲得該值的副本 ,而不是對其的引用。 xy的值可以彼此獨立分配。 如果隨后更改x ,則y的值將保持不變:

int x = 10;
int y = x;
x = 5;
Console.WriteLine(y); // Prints 10

相反,引用類型為“ track”的變量將更改為它們引用的對象:

StringBuilder x = new StringBuilder("Hello");
StringBuilder y = x;
x.Append(", world");
Console.WriteLine(y); // Prints "Hello, world"

我之所以這樣問,是因為“ int x”是值類型,“ y”並不直接持有值,而是“引用”“ x”(內存中的另一個位置)。

y不引用x 對於類型,賦值(通過=運算符)意味着 從右側的變量復制到左側的變量。

對於引用類型,這意味着復制引用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM