내 프로그램에는 앨범이라는 클래스가 있습니다. 내 앨범 객체가 생성 될 때 Array가 있습니다. 원하는 경우 나중에 앨범의 앨범 이름을 사용자가 변경할 수 있도록해야합니다. 원하는 경우 사용자가 배열에서 앨범을 삭제할 수 있도록해야합니다. 알다시피, 배열에서 객체를 삭제할 수는 없으므로 Array가 아닌 List에 저장하면 좋다.배열에서 요소 제거 : 목록으로 변환, 요소 제거, 배열로 다시 변환 하시겠습니까?
List (내가 전에는 사용하지 않았다)에서 알 수 있듯이 앨범 객체의 변수를 나중에 변경하려는 경우 앨범 객체를 Array 대신 Array에 넣을 수 없습니다 . 또한 앨범 객체는 앨범 객체를 잃어버린 Array (myMusics)를 저장하므로 앨범 객체를 삭제하고 목록의 새 객체로 대체 할 수 없습니다.
내 질문에, 사용자가 앨범 개체를 변경하고 삭제하도록 허용하려면 어떻게해야합니까? 목록에 저장된 배열을 변경해야 할 것 같아요. 그런 다음 List에서 객체를 삭제 한 다음 List를 다시 같은 Array로 변경합니다. 이 올바른지? 이 문제를 해결하는 것이 옳은 방법이라면 어떻게해야합니까?
또한 도움이되거나 효과가 있다면 앨범이 들어있는 배열이 Form1에서 만들어지고 앨범 개체는 Form1에서 삭제되지만 Album 개체의 albumName은 Form2에서 변경됩니다.
도움을 주시면 감사하겠습니다. 나는 C#을 사용하는 것에 익숙하지 않기 때문에 이해하는 데 도움이되는 코드의 예가 환상적이다. 고맙습니다.
앨범 클래스 :
public class Album
{
public string albumName;
private int totalMusics;
private const int MAX_MUSICS = 100;
private Music[] myMusics;
public Album(string albumName)
{
this.albumName = albumName;
totalMusics = 0;
myMusics = new Music[MAX_MUSICS];
}
}
배열 –
대신'List'을 사용하십시오. 앨범이 목록에있는 경우 앨범의 이름을 변경할 수 있습니다. 목록을 사용하십시오. –
'Array.FindAll'은 당신의 친구입니다. – leppie