我希望能够拥有一个名为Musician的类,其中一个名为Hits的规则/属性(这是一个数组列表,有两个名为ListHits()的方法和AddHits(字符串)
ListHits返回一个包含所有分裂符的字符串 用逗号来表达
AddHit - 为Hits arrayList添加一个命中。每次点击都是 一个长度在1到50个字符之间的字符串,没有l eading 或尾随空白区域。
我不知道怎么做这个我熟悉集合并为列表添加值,我知道如何设置基本属性
- 我已经试了好几个小时请帮助!
public class Musician : Celebrity
{
private string _hits;
public string Hits
{
get { return _hits; }
set
{
if (value.Length < 1)
{
throw new Exception("need more then 2 characters");
}
if (value.Length > 50)
{
throw new Exception("needs to be less then 50 characters");
}
else
{
_hits = value.Trim();
}
}
}
public Musician()
{
//
// TODO: Add constructor logic here
//
}
}
答案 0 :(得分:2)
首先,您应该尝试使用List<string>
而不是ArrayList
。 {C}在版本2.0中添加generics之前使用ArrayList
。 List<T>
允许您保留有关列表中项目的输入信息,这使您可以更轻松地编写正确的代码。
您发布的代码似乎与您要求的详细信息不符,但是这样的内容应该按您的指定执行:
public class Musician
{
private List<string> _hits;
public string ListHits()
{
return string.Join(", ", _hits);
}
public void AddHit(string hit)
{
/*
* validate the hit
*/
_hits.Add(hit);
}
}
关键是使用string.Join
将_hits
列表转换为逗号分隔的字符串。从那里开始,其余的只是基本的C#概念。