-3

我希望能够有一个名为 Musician 的类,它有一个名为 Hits( 的规则/属性是一个数组列表,有两个名为 ListHits() 和 AddHits(string) 的方法

ListHits 返回一个字符串,其中包含用逗号分隔的所有匹配项

AddHit – 向 Hits arrayList 添加命中。每个命中都是一个长度在 1 到 50 个字符之间的字符串,没有前导或尾随空格。

我不知道该怎么做我熟悉集合并向列表添加值,我知道如何设置基本属性

- 我已经尝试了几个小时,请帮助!

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
        //
    }

}
4

1 回答 1

2

首先,您应该尝试使用 aList<string>而不是ArrayList. ArrayList是您在 C#在 2.0 版中添加泛型之前使用的。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# 概念。

于 2013-04-02T01:32:21.453 回答