C# 创建具有三种数据类型的二维阵列

C# 创建具有三种数据类型的二维阵列,c#,arrays,unity3d,C#,Arrays,Unity3d,在c#中,创建存储三种数据类型的2D数组的最佳方法是什么?要创建一个2D数组,我通常会使用类似这样的东西 public GameObject [][] characters; 但我需要在第0列中存储一个int,在第1列中存储一个gameObject,在第2列中存储一个float。这在c#in unity中可能吗?或者我应该使用不同的数据类型 最好的方法是创建一个类或结构来存储数据类型,然后创建新对象的数组 将不同的数据类型封装到一个对象中要容易得多。这将有助于管理和移动数据 例如: publi

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

public GameObject [][] characters;

但我需要在第0列中存储一个int,在第1列中存储一个gameObject,在第2列中存储一个float。这在c#in unity中可能吗?或者我应该使用不同的数据类型

最好的方法是创建一个类或结构来存储数据类型,然后创建新对象的数组

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

例如:

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;

你应该用这三个E字段创建一个结构(或类):GameObject、float等。然后制作这个结构的一维对象数组。

创建一个类来容纳这三个对象如何

class GameData {

    public int IntValue{ get; set; }
    public GameObject gameObject { get; set; }
    public float FloatValue { get; set; }
}
然后使用一维数组来保存它们

GameData[] gameData;

但是,通过创建对象[][]数组并在调用列时对列使用强制转换,您可能可以实现所需的功能,但这不是一种好的做法

一个数组中不能存储多个数据类型。可以使用多个数组,也可以使用不同的数据类型。一旦你为你的类创建了一个数组,你会怎么做?如何将数据添加到阵列中?