我有两个类的properdata和pprosecnddata都具有属性 我想从properdata类列表对象访问产品属性。怎么可能,下面是我的示例代码
pupilc class ProperData
{
public string code{get;set;}
public List<ProSecndData>Secnd{get;set;}
}
public class ProSecndData
{
public string product{get;set;}
}
我正试图那样称呼财产
class Program
{
static void Main(string[] args)
{
ProperData.Secnd.Product = "Hello";
}
}
答案 0 :(得分:1)
您不能直接访问Secnd
的属性,因为它是一个列表
您需要迭代或选择List<Secnd>
的索引
您必须初始化 Secnd
第一和Secnd
应该在列表中包含项
properData.Secnd = new List<ProSecndData>();
因此可以通过
进行访问foreach(var second in properData.Secnd)
{
second.product = "hello";
}
//or
for(var i = 0; i < proderData.Secnd.Count(); i++)
{
properData.Secnd[i].product = "hello";
}
//or
var index = //0-length of list;
properData.Secnd[index].product = "hello";
如果您想先拥有商品,然后先添加到Secnd
列表中
properData.Secnd = new List<ProSecndData>();
properData.Secnd.Add(new ProSecndData{ product = "hello"});
然后您就可以使用上述方法对列表进行迭代
答案 1 :(得分:0)
您试图将列表作为单个对象访问,这是不可能的。
您需要创建列表类的单个实例,然后可以在该单个实例中添加字符串。
properData.Secnd = new List<ProSecndData>();
ProSecndData proSecndData = new ProSecndData();
proSecndData.product = "Hello";
properData.Secnd.Add(proSecndData);
答案 2 :(得分:-1)
实际上我已经知道答案了,您还没有创建用于初始化列表的构造函数。
我猜您会收到对象null引用错误?
创建构造函数以初始化您的列表,应该没事。
但是将来,请发布错误消息(不是整个堆栈,而是实际错误),以及 all 重复该问题所需的代码。否则,您将冒着删除问题的风险
(无论如何都应删除它,因为它可能被视为“什么是空引用错误?”问题。)
另外,您正在访问列表中的项目,例如该项目就是该项目(应该更像:ProperData.Secnd.elementAt(0).product
,请注意,模型中的“产品”与代码大写。