在c#中创建存储三种数据类型的2D数组的最佳方法是什么?要创建一个2D数组,我通常会使用类似这样的东西
public GameObject [][] characters;
但我需要在第0列存储一个int,在第1列存储一个gameObject,在第二列存储一个浮点数。这在c#中是否可以统一?或者我应该使用不同的数据类型?
答案 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 [] []数组并在调用它们时在列上使用强制转换来实现你正在寻找的东西,但这不是一个好习惯