【发布时间】:2010-10-26 01:58:58
【问题描述】:
我现在正在学习 C# refs。
是否可以假设所有分配有 new 的变量都是引用而不是值?
例子:
SomeType variable = new SomeType()
【问题讨论】:
-
请参阅最新评论以回复您的问题。
我现在正在学习 C# refs。
是否可以假设所有分配有 new 的变量都是引用而不是值?
例子:
SomeType variable = new SomeType()
【问题讨论】:
没有:
例如,System.Drawing.Point 是 struct 而不是 class:
Point point = new Point(1, 1); //point is a value, not a reference
【讨论】:
C# 有两种类型的对象 - 引用类型(使用 class 关键字定义)和值类型(使用 struct 关键字定义)。
选择一本关于 C# 的好书了解更多详细信息。它是一个重要的概念。
【讨论】:
不,值类型不是引用。
但对于任何其他非值类型和“ref/out”参数,它们都是引用。
【讨论】:
没有。在 C# 中,结构也使用 new() 实例化,但被视为值。
【讨论】:
看起来您将引用与对象混淆了。如果是这种情况,那么使用 new 关键字创建的类型是对象。被视为值的结构除外。
【讨论】:
不一定。随着您对 C# 的深入了解,您会发现有类(引用类型)和结构(值类型)。它们都是通过使用“new”关键字来实例化的,但结构的实例不是引用。
【讨论】: