我现在正在学习C#refs。
是否可以安全地假设所有使用new分配的变量都是引用而不是值?
示例:
SomeType variable = new SomeType()
答案 0 :(得分:4)
没有
例如,System.Drawing.Point
是struct
而不是class
:
Point point = new Point(1, 1); //point is a value, not a reference
答案 1 :(得分:3)
C#有两种类型的对象 - 引用类型(使用类关键字定义)和值类型(使用struct关键字定义)。
获取一本关于C#的好书以获取更多细节。这是一个重要的概念。
答案 2 :(得分:1)
不,值类型不是引用。
但是使用任何其他非valuetype类型和'ref / out'参数,它们都是引用。
答案 3 :(得分:1)
没有。在C#中,结构体也使用new()进行实例化,但被视为值。
答案 4 :(得分:0)
看起来你正在混淆对象的引用。如果是这种情况,则使用new关键字创建的类型是对象。除了被视为值的结构外。
答案 5 :(得分:0)
不一定。当您了解有关C#的更多信息时,您会发现您有类,它们是引用类型,而结构是值类型。它们都是通过使用'new'关键字实例化的,但结构的实例不是引用。