如何初始化另一个类类型的数组

本文关键字:类型 数组 另一个 初始化 | 更新日期: 2023-09-27 17:51:07

我试图初始化值到Rootobject中的子数组,但它给了我错误。-我试着做一个子类的对象,但它也没有工作,我只需要知道如何设置值的类型数组的另一个类,其中包含其他值。非常感谢您的帮助。

public class Rootobject{
   public Child[] children { get; set; }
   public Data data { get; set; }
   public string id { get; set; }
   public string name { get; set; }
}
public class Data{
   //  public string name { get; set; }
}
public class Child{
   public Child1[] children { get; set; }
   public Data1 data { get; set; }
   public string id { get; set; }
   public string name { get; set; }
}
public class Data1{
public int playcount { get; set; }
public int area { get; set; }
}
public class Child1{
public object[] children { get; set; }
public Data2 data { get; set; }
public string id { get; set; }
public string name { get; set; }
}
public class Data2{
public string playcount { get; set; }
public string color { get; set; }
public string image { get; set; }
public int area { get; set; }
}

这是我初始化值的地方(我应该在children中写什么):

var RegisteredUsers = new List<Rootobject>();
RegisteredUsers.Add(new Rootobject() { children = { }, data = { }, 
                                       id = "102", name = "zaki" });

如何初始化另一个类类型的数组

如果您想要提交一个数组,只需创建一个类型为Child的数组。

Child[] children = new Child[10];
//Then initialize each element.

在你的Child类中,它看起来像你期望的类型Child1,这与Child不同。这很可能导致错误。

我也不知道你为什么用java标记这个问题。

是的,你的代码中有未初始化的数组。

要使其工作,将数组更改为List

public List<Child>children { get; set; }

类型Child1在应用程序的上下文中不存在。查找并重命名为Child

看起来很丑,但是如果你真的想…

var RegisteredUsers = new List<Rootobject>();
RegisteredUsers.Add(new Rootobject()
{
    children = new Child[] {
        new Child { id= "1", name="Ivan"},
        new Child { id= "2", name="Vladimir"}
    },
    data = { },
    id = "102",
    name = "zaki"
});

如果你使用的是LinqPad,你可以复制/粘贴这段代码,你会看到它正在工作

var RegisteredUsers = new List<Rootobject>();
RegisteredUsers.Add(new Rootobject() { children = { }, data = { }, 
                                   id = "102", name = "zaki" });
        RegisteredUsers.Dump();                        

                                   }

public class Rootobject{
public Child[] children { get; set; }
public Data data { get; set; }
public string id { get; set; }
public string name { get; set; }
}
public class Data{
   //  public string name { get; set; }
 }
public class Child{
  public Child1[] children { get; set; }
   public Data1 data { get; set; }
   public string id { get; set; }
   public string name { get; set; }
}
public class Data1{
public int playcount { get; set; }
public int area { get; set; }
}
public class Child1{
  public object[] children { get; set; }
  public Data2 data { get; set; }
  public string id { get; set; }
  public string name { get; set; }
}

公共类Data2{

 public string playcount { get; set; }
 public string color { get; set; }
 public string image { get; set; }
 public int area { get; set; }