【发布时间】:2014-01-04 10:47:43
【问题描述】:
可变结构容易出错;当T 是一个矩形时,dictionary[0].Inflate(1,1) 的行为与array[0].Inflate(1,1) 的行为不同(因为array[0] 是一个变量,而dictionary[0] 是一个值)。
如果我为SomeClass 制作自定义索引器:
public T this[int x, int y] { get { return arr[y*100+x]; } }
someclass[x,y] 是 变量 还是 值 还是两者都不是?假设T 当然是struct。
【问题讨论】:
-
你的意思是值类型和引用类型,而不是值和变量?
-
看起来你正在混淆 variable 和 reference type
-
@Mr.Smith 我不这么认为。结构始终是值类型。它永远不会有什么不同。变量根本不是类型。
-
@Mr.Smith 来自 MSDN:变量表示存储位置。每个变量都有一个类型,它决定了哪些值可以存储在变量中。
-
@Mr.Smith 好的,有道理,这是我不熟悉的术语选择。
标签: c#