今天早些时候,我正在为我的 C# 类LINK TO PREVIOUS PROBLEM做作业,现在我遇到了另一个问题,我不明白哪里出了问题。所以在第一篇文章中,我遇到了静态参数的问题,所以我得到了解释和修复。但是现在,我收到一个错误消息,而不是“对象引用未设置为对象的实例”。我检查了任何拼写错误,但仍然无法运行它。PS,问题不是在编译时出现,而是在输入所有数据时出现,当我在输入数据并按回车后按 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 方法还没有完成。