今日、私はC#クラスの宿題に取り組んでいました。前の問題へのリンク今、私は何が悪いのか理解していない別の問題を抱えています。したがって、最初の投稿で静的パラメーターに問題があったので、それを説明して修正しました。しかし今、「オブジェクト参照がオブジェクトのインスタンスに設定されていない」というエラーが表示されます。タイプミスがないか確認しましたが、まだ実行できません。PS、問題はコンパイル時ではなく、すべてのデータが入力されたとき、およびデータを入力してEnterキーを押した後にNを押したときに発生します。ご覧ください。
using System;
public class Repository
{
static string[] titles;
static string[] authorFirstNames;
static string[] authorLastNames;
static string[] publisherNames;
static float[] prices;
static int number;
static void Main(string[] args)
{
string title = "";
string authorFirst = "";
string authorLast = "";
string publisherName = "";
float price = 0;
getBookInfo(ref title, ref authorFirst, ref authorLast, ref publisherName, ref price);
displayBooks(titles, authorFirstNames, authorLastNames, publisherNames, prices, number);
}
static void getBookInfo(ref string title, ref string authorFirst,
ref string authorLast, ref string publisherName,
ref float price)
{
string continued;
string float_num;
int i = 0;
titles = new string[50];
do
{
Console.Write("Title of book: ");
title = Console.ReadLine();
Console.Write("Authors first name: ");
authorFirst = Console.ReadLine();
Console.Write("Authors last name: ");
authorLast = Console.ReadLine();
Console.Write("Publishers Name: ");
publisherName = Console.ReadLine();
Console.Write("Price: ");
float_num = Console.ReadLine();
Console.Write("Add another book? Y/N ");
continued = Console.ReadLine().ToLower();
price = float.Parse(float_num);
titles[i] = title;
authorFirstNames[i] = authorFirst;
authorLastNames[i] = authorLast;
publisherNames[i] = publisherName;
prices[i] = price;
number = i;
i++;
}
while (continued == "y");
}
static void displayBooks(string[] titles, string[] authorFirstNames,
string[] authorLastNames, string[] publisherNames,
float[] prices, int number)
{
foreach (string title in titles)
{
Console.WriteLine(title);
if(title == null)
break;
}
}
}
原因は何ですか?
よろしく、そしていくつかのアドバイスを期待しています。
PS、displayBooksメソッドはまだ終了していません。