Medmindre det er fordi du selv ønsker at prøve at implementere hægtede liser, kan du jo bruge LinkedList<T> som er en del af .NET rammeværket. Derudover vil noget der implementerer IList<T> være tilstrækkeligt vil jeg mene. Så du kan også nøjes med List<T>.
Derudover vil jeg gøre noget á la følgende (nu er det kun lige hurtigt bikset sammen - kan sikkert rafineres meget mere):
public enum PlayOrder
{
Shuffle,
InOrder
}
public class PlayList<T>
{
private List<T> itemsInPlayList;
public void Add(T itemToAddToPlayList)
{
.....
}
public void Play(PlayOrder playOrder)
{
....
}
public void Stop()
{
....
}
blah blah.
}
public class Album
{
private List<Song> songsOnAlbum
blah blah.
}
public class Song
{
blah blah.
}
Så kan du oprette en spilleliste enten med albums eller sange:
// Assumes that vivaLaVida is an Album variable
// declared before this code. Also assumes that
// dirtyDiana is a Song variable already
// declared.
// A PlayList of albums
var listOfAlbums = new PlayList<Album>();
listOfAlbums.Add(vivaLaVidaAlbum);
listOfAlbums.Play(PlayMode.Shuffle);
listOfAlbums.Stop();
// A PlayList of songs
var listOfSongs = new PlayList<Song>();
listOfSongs.Add(dirtyDiana);
listOfAlbums.Play(PlayMode.InOrder);
Indlæg senest redigeret d. 15.12.2008 12:36 af Bruger #4522