【问题标题】:C# How to get data into an array within an arrayC#如何将数据放入数组中的数组中
【发布时间】:2013-04-04 17:41:24
【问题描述】:

我正在尝试用 C# 构建一个 CD 收集程序,它可以

  1. 创建一个新专辑(即,在您的专辑数据库中添加一个新条目)
  2. 更改或删除相册数据库中的现有相册
  3. 在专辑中输入一段音乐的详细信息(标题、艺术家、流派和音乐长度)
  4. 更改或删除专辑中现有音乐的详细信息
  5. 列出给定专辑中所有音乐的详细信息
  6. 列出指定艺术家的所有音乐
  7. 列出数据库中的所有音乐。您的程序必须允许用户选择列表顺序:按专辑、按艺术家、按流派或按标题。

我被困在第三位,为每张专辑添加细节,到目前为止我有这个,我想当我做对了,剩下的细节会很容易添加

public bool AddSong(string songName)
    {
        for (int i = 0; i < MAX_MUSIC; i++)
        {
            string c = albumName;                   // This compares the album name given by user
            string e = myMusic[i].getAlName;        // to the album name in the myMusic array
            int d = c.CompareTo(e);                 //
            if (d == 0)
            {
                int index = -1;
                for (int j = 0; j < MAX_SONG; j++)
                {
                    if (Songs[i] == null)
                    {
                        index = i;
                        break;
                    }
                }
                if (index != -1)
                {
                    Songs[index] = songName;
                    ++totalSongs;
                    return true;
                }
            }
        }


        return false;

    }

任何帮助给我方向将不胜感激。

编辑:这是作业,我是一名外部学生,我的讲师和他一样好,英语说得不太好,我不指望免费赠品。只是接近的方向,也许还有一个奇怪的提示;)

EDIT2:我的代码非常大,所以我认为不适合发布如此大量的代码,但我可以提供类的链接

musicDB.cs

music.cs

Form1.cs

【问题讨论】:

  • 这是为了教育目的吗?你为什么不使用System.Collections.Generic.List&lt;T&gt; 或类似的东西?
  • 您能否发布更多代码,以便我可以看到更多正在发生的事情?
  • 不知道你已经学了多少有点难以回答,但我假设你需要使用一个自定义类来保存你的 SongName 字符串,以及你的其他信息想要包括...
  • Songs的结构是什么?
  • 顺便说一句,大多数程序,如媒体播放器,只有一个长的一维歌曲列表,而不是包含歌曲列表的专辑列表的艺术家列表...

标签: c# arrays


【解决方案1】:
           for (int j = 0; j < MAX_SONG; j++)
            {
                if (Songs[i] == null)
                {
                    index = i;
                    break;
                }
            }

你正在循环 j 但你没有在你的 for 循环中使用 j。所以你真的在做同样的事情 MAX_SONG 次。

【讨论】:

    【解决方案2】:
    if (index != -1)
    {
         Songs[index] = songName;
         ++totalSongs;
         return true;
    }
    

    这是您现在需要关注的部分。

    问问自己:

    1. 如何新建Song类(初始化)?
    2. 如何设置Song 类的属性?
    3. 最后,如何将Song 应用到数组中的正确位置?

    【讨论】:

    • 所以我需要创建一个歌曲类,就像我为专辑做的那样?
    • 由于您的第 3 点需要保存歌曲的许多属性,我建议您需要某种结构来保留这些属性。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 2016-08-06
    相关资源
    最近更新 更多