Сгенерировать обьекты в список - C#
Формулировка задачи:
Привет! Помоги решить вот такую задачу.
// класс продукт
class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
}
// класс номенклатура
class ProductList
{
public List<Product> List { get; set; }
}Задача:
Необходимо сделать генератор номенклатуры по принципу: ввожу в консоль несколько названий через запятую, метод генерирует продукты в список с рандомной ценой, так чтобы метод сам создавал экземпляры. Вызываю метод, ввожу строку, разбиваю ее на массив названий....
foreach (string name in articleNames)
{
int currentPrice = randomizer.Next(1, 100);
// добавляю продукт в экземпляр ProductList через метод AddArticleToList(){List.Add(Product _newprod);})
ProductList.AddArticleToList(new Product(name, currentPrice));
}В результате ошибка:
{"Ссылка на объект не указывает на экземпляр объекта."} Спасибо.Решение задачи: «Сгенерировать обьекты в список»
textual
Листинг программы
using System;
using System.Collections.Generic;
namespace ConsoleApplication1
{
class Program
{
#region Entry point
private static Program _program;
private static void Main(string[] args)
{
_program = new Program();
_program.Run(args);
}
#endregion
private void Run(string[] args)
{
Random random = new Random();
ProductList prodList = new ProductList();
string[] names = { "Cola", "Pepsi", "Fanta" };
foreach (string name in names)
{
decimal currentPrice = random.Next(50, 100);
prodList.Products.Add(new Product(name, currentPrice));
}
Display(prodList);
Console.ReadKey();
}
private void Display(ProductList prodList)
{
Console.WriteLine("Наименование:\tЦена:");
foreach (var product in prodList.Products)
{
Console.WriteLine("{0}\t\t{1}", product.Name, product.Price);
}
}
}
class Product
{
public Product(string name, decimal price)
{
Name = name;
Price = price;
}
public string Name { get; set; }
// Вообще c деньгами в decimal обычно дела делаются.
public decimal Price { get; set; }
}
class ProductList
{
public ProductList()
{
Products = new List<Product>();
}
public List<Product> Products { get; protected set; }
}
}