将多个数字放在多个int变量中还是放在一个int[]数组中更好?

本文关键字:int 一个 数组 更好 变量 数字 | 更新日期: 2023-09-27 18:17:00

只是想知道,因为我经常发现自己输入像坐标(X, Y),并想知道哪种情况更好。如果我在一个数组中存储3个int,我将代码减少到1/3,但是有更多的理由更喜欢数组而不是多个变量吗?

说明示例:

int[] coord = new int[2];
coord[0] = 3;
coord[1] = 2;

int x = 3;
int y = 2;

将多个数字放在多个int变量中还是放在一个int[]数组中更好?

我想说,如果坐标是紧密耦合的,您总是将它们同时传递(我相信这是真的),您可以创建一个结构体来封装它们。

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);

你有一个优化标签附加到你的问题,但如果问题对你的应用程序的性能不是至关重要的,我会选择可读性/设计超过纳秒。

这取决于你使用的值。

如果你持有大量的值,比如在游戏中,你应该让它易于自己和其他程序员阅读,并阐明值的含义。

你不应该在一个数组中保存许多值,比如HP, MP,速度,旋转,高度,宽度,…而没有说清楚它们是什么

但是你应该说HP=100;议员= 80,……在这种情况下,几乎每次都有一个"玩家"类。这个类包含player。点数,玩家。magicpoints,球员。速度,…

但是对于坐标,我认为程序员使用的是带有x, y(有时还有z)坐标的数组。