首先,我将创建一个单独的类用于存储你的手机数据:
public class Phone
{
public string Manufacturer { get; set; }
public string Model { get; set; }
public bool HasCord { get; set; }
public double Price { get; set: }
}
然后,而不是:
static void inputPhone(ref string manufacturer, ref string model, ref bool hasCord, ref double price)
你可以有:
static Phone GetPhone()
你可以创建一个电话实例在GetPhone方法中并返回填充了适当数据的对象。
相反的:
double[] prices = new double[100];
string[] manufacturers = new string[100];
string[] models = new string[100];
bool[] hasCords = new bool[100];
然后,您可以有:
List<Phone> phones = new List<Phone>();
然后每次调用GetInput后(以前:inputPhone)将其添加到列表:
phones.Add(GetPhone());
然后将输出电话更改为:
static void DisplayPhones(List<Phone> phones)
因此,所有的所有的代码应该是这样的:
static Phone GetPhone()
{
Phone phone = new Phone();
Console.Write("Enter the phone manufacturer: ");
phone.Manufacturer = Console.ReadLine();
Console.Write("Enter the phone model: ");
phone.Model = Console.ReadLine();
Console.Write("Is it cordless? [Y or N]: ");
phone.HasCord = Console.ReadLine().ToUpper() == "Y";
Console.Write("Enter the phone price: ");
phone.Price = Convert.ToDouble(Console.ReadLine());
return phone;
}
static void DisplayPhones(List<Phone> phones)
{
for (int i = 0; i < phones.Count; i++)
{
Console.WriteLine("==Phone #{0}==", i);
Console.WriteLine("Phone Manufacturer: {0}", phones[i].Manufacturer);
Console.WriteLine("Phone Model: {0}", phones[i].Model);
Console.WriteLine("Has Cord: {0}", phones[i].HasCord ? "Yes" : "No");
Console.WriteLine("Phone Price: {0}", phones[i].Price);
}
Console.WriteLine("Number of phones entered: {0}", phones.Count);
}
static void Main(string[] args)
{
List<Phone> phones = new List<Phone>();
bool shouldContinue = true;
do
{
phones.Add(GetPhone());
Console.Write("Would like to process another phone? [Y or N]: ", shouldContinue);
shouldContinue = Console.ReadLine().ToUpper() == "Y";
} while (shouldContinue == true);
if (shouldContinue == false)
{
DisplayPhones(phones);
}
}
只是一个建议 - '继续'是C#中的关键字,我会建议命名该变量有些不同(例如'shouldContinue')。 –
好点,它的工作原理,但我会改变它。感谢指针。 :) – fdsa
没问题,只是值得考虑的事情! –