我有三节课:
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
};
public class count
{
public int number
{
get
{
return 1;
}
set
{
}
}
}
public class myclass
{
public Customer[] Customer { get; set; }
public count number { get; set; }
}
还有一个例子:
myclass myclass = new myclass()
{
Customer = new Customer[]
{
new Customer()
{
FirstName = "FirstName1",
LastName = "LastName1"
},
new Customer()
{
FirstName = "FirstName2",
LastName = "LastName2"
}
},
number = new count()
};
我想要属性count.number返回我的数组Customer []中的客户数。
我必须有一个不同的类来获取我的数组Customer []
的元素数量怎么办?
的Th
答案 0 :(得分:2)
你的属性不应该有一个setter,它应该只是动态地返回数组的长度。像这样:
public class myclass
{
public Customer[] Customer { get; set; }
public int number
{
get { return Customer.Length; }
}
}
然后您不必手动设置它(或者更重要的是,手动在数组更改时保持同步)。
如果你必须将一个整数包装在一个类中(你真的不应该需要,但无论如何),那么只返回该类的一个实例:
public class myclass
{
public Customer[] Customer { get; set; }
public count number
{
get { return new count { number = Customer.Length; } }
}
}
但是你构造它(也就是说,无论你在类中包装原始值的原因),重点是你可以动态获取数组的.Length
而无需手动跟踪它你自己。数组知道它有多长。