我想在列出所有電影的系統中開發此選項。列表genreList被創建並在另一個類中聲明爲private,並且在我的主程序中調用它。電影類C#:如何將另一個列表中的某些元素添加到另一個類中並打印出來?
部分:
public List<string> genreList = new List<string>();
public Movie() { }
public Movie(string tt, int dur, string cls, DateTime opendt, List<string> genrelist)
{
Title = tt;
Duration = dur;
Classification = cls;
OpeningDate = opendt;
}
//methods
public List<string> GetGenreList()
{
return genreList;
}
這是我的主要程序代碼:
List<Movie> MovieList = new List<Movie>();
InitMovieList(MovieList);
if (option == 1)
listAllMovies(MovieList);
static void getGenreList()
{
Movie moviegenre = new Movie();
List<string> genreList = moviegenre.GetGenreList();
genreList.Add("Action");
genreList.Add("Adventure");
genreList.Add("Comedy");
genreList.Add("Fantasy");
genreList.Add("Thriller");
}
static void InitMovieList(List<Movie> MovieList)
{
Movie moviegenre = new Movie();
List<string> genreList = moviegenre.GetGenreList();
Movie m;
m = new Movie("The Great Wall", 103, "NC16", Convert.ToDateTime("29-12-2016"), genreList);
MovieList.Add(m);
m = new Movie("Rogue One: A Star Wars Story", 134, "PG13", Convert.ToDateTime("15-12-2016"), genreList);
MovieList.Add(m);
m = new Movie("Office Christmas Party", 106, "M18", Convert.ToDateTime("15-01-2017"), genreList);
m = new Movie("Power Rangers", 120, "G", Convert.ToDateTime("31-01-2017"), genreList);
}
//list all movies
static void listAllMovies(List<Movie> MovieList)
{
Movie moviegenre = new Movie();
List<string> genreList = moviegenre.GetGenreList();
Console.WriteLine();
Console.WriteLine(string.Format("{0,-5}{1,-30}{2,-10}{3,-20}{4,-15}{5,-15}", "No","Title","Duration", "Genre", "Classification", "Opening Date"));
for(int i = 0; i<MovieList.Count; i++)
{
Console.WriteLine(string.Format("{0,-5}{1,-30}{2,-10}{3,-20}{4,-15}{5,-15}", i + 1, MovieList[i].Title, MovieList[i].Duration, genreList[i], MovieList[i].Classification, MovieList[i].OpeningDate));
Console.WriteLine();
Console.Write("");
Console.ReadLine();
}
}
我的問題是,我要包括某些元素,如「動作,冒險」或「幻想,驚悚片」的一部分Movielist。輸出應該是這樣的:
但我有這和錯誤消息的包: 類型「System.ArgumentOutOfRangeException」未處理的異常出現在mscorlib.dll 其他信息:指數超出範圍。必須是非負數且小於集合的大小。
而這阻止了程序繼續到我需要的部分。
請告訴我該怎麼做!非常感謝你。
您應該告訴我們您收到哪些錯誤消息。 –
我可以確定你的'listAllMovies'方法中的索引用完了:)) –
是的,我只是編輯了這個問題。你能幫我嗎? –