如何初始化另一个类类型的数组
本文关键字:类型 数组 另一个 初始化 | 更新日期: 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不同。这很可能导致错误。
是的,你的代码中有未初始化的数组。
要使其工作,将数组更改为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; }