创建具有三种数据类型的2D数组

时间:2014-06-13 09:59:56

标签: c# arrays unity3d

在c#中创建存储三种数据类型的2D数组的最佳方法是什么?要创建一个2D数组,我通常会使用类似这样的东西

public GameObject [][] characters;

但我需要在第0列存储一个int,在第1列存储一个gameObject,在第二列存储一个浮点数。这在c#中是否可以统一?或者我应该使用不同的数据类型?

3 个答案:

答案 0 :(得分:2)

执行此操作的最佳方法是创建一个类或结构来存储数据类型,然后创建该新对象的数组。

将不同的数据类型封装到一个对象中要容易得多。这将有助于管理和移动数据。

例如:

public class Character
{
    public int MyInt = 0;
    public GameObject MyGameObject = null; // or whatever the default should be
    public float MyFloat = 0.0f;
}

然后创建你的数组:

public Character[] characters;

答案 1 :(得分:0)

您应该使用以下三个字段创建一个结构(或类):GameObject,float等。然后创建此结构的一维对象数组。

答案 2 :(得分:0)

如何创建一个类来保存这三个对象;

class GameData {

    public int IntValue{ get; set; }
    public GameObject gameObject { get; set; }
    public float FloatValue { get; set; }
}

然后使用1d数组来保存它们

GameData[] gameData;

你可以通过创建一个object [] []数组并在调用它们时在列上使用强制转换来实现你正在寻找的东西,但这不是一个好习惯