如何在多维数组中使用键

本文关键字:数组 | 更新日期: 2023-09-27 18:02:29

如何创建一个由类别及其子类别组成的数组

的例子:

Fruit
  --> Apple
  --> Banana
Car
  --> Civic
  --> Vitz
Drinks
 --> Pepsi
 --> Dew

就变成了一个完整的1数组。

注意:我不想使用任何集合,如列表,字典等。

如何在多维数组中使用键

如果您被限制只能使用数组,那么您可以这样做:

object[][] arr = new object[3][];
arr[0] = new object[2];
arr[0][0] = "Fruit";
arr[0][1] = new string[2] { "Apple", "Banana" };
arr[1] = new object[2];
arr[1][0] = "Car";
arr[1][1] = new string[2] { "Civic", "Vitz" };
arr[2] = new object[2];
arr[2][0] = "Drinks";
arr[2][1] = new string[2] { "Pepsi", "Dew" };

然后遍历:

for (int i = 0; i < 3; i++)
{
    StringBuilder line = new StringBuilder();
    line.Append((string)arr[i][0] + ": ");
    string[] subs = (string[])arr[i][1];
    for (int j = 0; j < 2; j++)
    {
       line.Append(subs[j] + "; ");
    }
    MessageBox.Show(line.ToString());
}

注意,因为这使用了一个锯齿数组(又名数组的数组),所以可以有不同数量的子类别。然后,要遍历子类别,您需要使用count。

创建一个名为arrayobject的接口,然后创建类fruit,car和drinks,然后实现该接口并创建接口的数组

比如

public interface arrayobject 
{
    string description();
}
class Fruit:arrayobject
{
    public string fruittype;
    public Fruit(string type)
    {
        fruittype = type;
    }
    public string description()
    {
        return fruittype;
    }
}
class Car : arrayobject
{
    public string Cartype;
    public Car(string type)
    {
        Cartype = type;
    }
    public string description()
    {
        return Cartype;
    }
}

现在你可以创建一个数组的arrayobject

arrayobject[] mylist = new arrayobject[2];
mylist[0] = new Fruit("banana");
mylist[1] = new Car("my Ford");