![](/img/trans.png)
[英]How to reference the int variable to another script which is in another GameObject in Unity?
[英]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
的值后,它将获得该值的副本 ,而不是对其的引用。 x
和y
的值可以彼此独立分配。 如果随后更改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.