検索で見つけた後、最大18行の映画情報(タイトル、年、ジャンル、品質、監督)を表示するコードを作成しようとしていますが、コンソールにコードを表示するのに問題があります。
関連する構造体:
struct Movie
{
public string title;
public int year;
public Name director;
public float quality;
public string mpaaRating;
public string genre;
public List<Name> cast;
public List<string> quotes;
public List<string> keywords;
}
struct MovieList
{
public int length;
public Movie[] movie;
}
問題のコードは以下のとおりです。
static void searchMovies(ref MovieList ML, int menuChoice)
{
Movie searchTerm;
float searchRating;
int searchIndex;
int foundIndex;
Movie[] foundMovie = new Movie[NUM_MOVIES];
do
{
int.TryParse(searchMenu(), out menuChoice);
foundIndex = 0;
Console.WriteLine("Enter the movie title to search for");
searchTerm.title = Console.ReadLine();
for (searchIndex = 0; searchIndex < ML.length; searchIndex++)
{
if (ML.movie[searchIndex].title == searchTerm.title)
{
foundMovie[foundIndex].title = ML.movie[searchIndex].title.ToUpper();
foundMovie[foundIndex].year = ML.movie[searchIndex].year;
foundMovie[foundIndex].genre = ML.movie[searchIndex].genre;
foundMovie[foundIndex].mpaaRating = ML.movie[searchIndex].mpaaRating;
foundMovie[foundIndex].director.firstName = ML.movie[searchIndex].director.firstName;
foundMovie[foundIndex].director.lastName = ML.movie[searchIndex].director.lastName;
foundIndex++;
}
}
Console.Clear();
displaySearchResults(foundMovie, foundIndex);
}
static void displaySearchResults(Movie[] foundMovie, int foundIndex)
{
int displayedLines = 0;
int displayResults;
do
{
for (displayResults = 0; displayResults < foundMovie.Length; displayResults++)
{
Console.WriteLine("{0} {1} {2} {3} {4} {5}", foundMovie[displayResults].title, foundMovie[displayResults].year, foundMovie[displayResults].genre,
foundMovie[displayResults].mpaaRating, foundMovie[displayResults].director.firstName, foundMovie[displayResults].director.lastName);
displayedLines++;
}
Console.ReadLine();
} while (displayedLines < 18);
}
このコードは、ML.movie [searchIndex] .titleをsearchTermにチェックし、見つかった場合は、タイトル、年、ジャンル、評価、および監督名(最初と最後)のML.movie[searchIndex]値をにロードすることになっています。 foundIndexの現在の値でのfoundMovie構造体。次に、映画リスト全体を検索した後、displayメソッドに移動し、前述の値(タイトル、年、ジャンル、評価、および監督名)を含むコード行を印刷します。
コードを実行して検索プロセスを実行すると(ML構造体にはバイナリファイルからの映画がプリロードされます)、検索結果を表示するときに、写真に示すように、0の壁だけが表示されます。 。