如何在main()方法中调用另一个方法来显示在第二个方法下分组的一个数组

时间:2015-03-09 06:56:24

标签: c# arrays methods

我想创建3个方法,2来声明和初始化数组。第3个循环遍历2个数组。我想调用main()中的第三个方法来显示在array1索引下分组的array2的每个索引。我希望我已经清楚地提出了我的问题。

class Program
{
 static void Main(string[] args)
 {
   Program p = new Program();
   p.display(Carnivore, ZooMammals);
 }
 public void Mammals(ZooMammals[] category)
 {
  category = new ZooMammals[4];
  category[1] = new ZooMammals() {Category="Carnivorous", Attribute = new Attributes[2] };
  category[2] = new ZooMammals() { Category = "Carnivorous", Attribute= new Attributes[1] };
  category[3] = new ZooMammals() { Category = "Carnivorous", Attribute = new Attributes[3] };
 }
 public static void Carnivore(Attributes[] Carn)
 {
   Carn = new Attributes[3];
   Carn[0] = new Attributes() { Sex ="M", colour = "yellow",Name="Lion" };
   Carn[1] = new Attributes() { Sex ="F", colour = "yellow",Name="Cat"};
   Carn[2] = new Attributes() { Sex ="M", colour = "yellow",Name="Tiger"};

 }
 public static void display(Attributes[] Carn,ZooMammals[] category)
 {


      foreach (var a in category)
        {
           if (a == null) continue;
           Console.WriteLine("{0},{1},{2}", a.Category, a.Attribute);
        }
        foreach (var x in category.Carn)
        {
           if (x == null) continue;
           Console.WriteLine("{0},{1},{2}", x.Sex, a.colour, x.Name);
           Console.WriteLine(category[1].Carn[0]);
           Console.WriteLine(category[1].Carn[1]);
           Console.WriteLine(category[1].Carn[2]);
           Console.WriteLine(category[2].Carn[0]);
           Console.WriteLine(category[2].Carn[1]);
        }
        Console.ReadLine();
      }

   }
 public class Attributes
 {
    public string Sex;
    public string colour;
    public string Name;
  }
 public class ZooMammals
 {
        public string Category;
        public Attributes[] Attribute;
     }

}

1 个答案:

答案 0 :(得分:0)

     static void Main(string[] args)
     {
       Program p = new Program();
       p.display(Mammals(), Carnivore());
     }
     public ZooMammals[] Mammals()
     {
      ZooMammals[] category = new ZooMammals[4];
      category[1] = new ZooMammals() {Category="Carnivorous", Attribute = new Attributes[2] };
      category[2] = new ZooMammals() { Category = "Carnivorous", Attribute= new Attributes[1] };
      category[3] = new ZooMammals() { Category = "Carnivorous", Attribute = new Attributes[3] };
     return category; 
     }
     public Attributes[] Carnivore()
     {
       Attributes[] Carn = new Attributes[3];
       Carn[0] = new Attributes() { Sex ="M", colour = "yellow",Name="Lion" };
       Carn[1] = new Attributes() { Sex ="F", colour = "yellow",Name="Cat"};
       Carn[2] = new Attributes() { Sex ="M", colour = "yellow",Name="Tiger"};
      return Carn;
     }

这就是我觉得你出错的地方。这可以通过声明两个全局数组并在方法中分配值并在代码中使用相同的值来更好地完成。