C# 创建具有三种数据类型的二维阵列
在c#中,创建存储三种数据类型的2D数组的最佳方法是什么?要创建一个2D数组,我通常会使用类似这样的东西C# 创建具有三种数据类型的二维阵列,c#,arrays,unity3d,C#,Arrays,Unity3d,在c#中,创建存储三种数据类型的2D数组的最佳方法是什么?要创建一个2D数组,我通常会使用类似这样的东西 public GameObject [][] characters; 但我需要在第0列中存储一个int,在第1列中存储一个gameObject,在第2列中存储一个float。这在c#in unity中可能吗?或者我应该使用不同的数据类型 最好的方法是创建一个类或结构来存储数据类型,然后创建新对象的数组 将不同的数据类型封装到一个对象中要容易得多。这将有助于管理和移动数据 例如: publi
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;
但是,通过创建对象[][]数组并在调用列时对列使用强制转换,您可能可以实现所需的功能,但这不是一种好的做法一个数组中不能存储多个数据类型。可以使用多个数组,也可以使用不同的数据类型。一旦你为你的类创建了一个数组,你会怎么做?如何将数据添加到阵列中?