只是想知道原因我经常发现自己给出像坐标(X,Y)这样的输入,并且想知道哪种情况更好。 如果我在一个数组中存储3个int,我将代码减少到1/3,但是有更多理由更喜欢阵列而不是多个变量吗?
澄清的例子:
int x = 3;
int y = 2;
或
ShowSettingsDialog
答案 0 :(得分:4)
我要说如果坐标紧密耦合,你总是将它们都传递到一起(我相信这是真的),你可以创建一个结构来封装它们。
public struct Coords
{
private int x;
private int y;
public Coords(int x, int y)
{
this.x = x;
this.y = y;
}
public int X
{
get { return x; }
}
public int Y
{
get { return y; }
}
}
在这种情况下,您可以像这样传递:
var c = new Coords(1, 2);
MyMethod(c);
您的问题附有优化标记,但如果问题对您的应用程序的性能不是很重要,那么我的可读性/设计将超过纳秒。
答案 1 :(得分:0)
它取决于您使用的值。
如果您持有大量的价值观,比如在游戏中,您应该让自己和其他程序员可以轻松阅读,并澄清价值的含义。
你不应该在一个阵列中持有许多值,比如说HP,MP,速度,旋转,高度,宽度......而不是澄清它们是什么。
但你应该说HP = 100; MP = 80,...... 在这种情况下,几乎每次都是“玩家”。虽然上课。 该类包含player.hitpoints,player.magicpoints,player.speed,...
但是对于坐标,我认为程序员使用的是具有x,y(和某些时间z)坐标的数组。