C#-属性返回长度数组
我有三节课:C#-属性返回长度数组,c#,arrays,properties,get,set,C#,Arrays,Properties,Get,Set,我有三节课: 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 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[]中的客户数
我必须有一个不同的类来获取数组客户[]的元素数
怎么办
属性不应该有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
,而无需自己手动跟踪它。数组知道它的长度。您的属性不应该有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
,而无需自己手动跟踪它。数组知道它的长度。客户.长度如何?客户.长度如何?