将输入读取为文本文件中的值

时间:2014-08-29 03:27:43

标签: c#

基本上,我有一个"产品"带有名称,类别编号,价格,库存,重新订购级别的文本文件。我需要一个程序来读取输入作为类别编号,如果该类别中任何项目的库存低于重新订购级别,则输出该项目。例如,如果我输入" 3",则将输出库存少于类别3中的重新订购级别的所有项目。 这是我目前的代码

class Program
{
    static void Main(string[] args)
    {
        List<Product> product = LoadData();
        string input = Console.ReadLine();
        while (input != "#")
        {
            stuff(input, product);
            input = Console.ReadLine();
        }
    }

    private static void stuff(string input, List<Product> product)
    {
        int cat = int.Parse(input);
        foreach (var item in product)
        {
            cat = item.Category;
            if (item.Stock < item.Reorder)
                Console.WriteLine(item);
        }

    }

    private static List<Product> LoadData()
    {
        StreamReader reader = new StreamReader("C:/data/products.txt");
        List<Product> list = new List<Product>();
        while (reader.EndOfStream)
        {
            string line = reader.ReadLine();
            string[] br = line.Split(',');
            int category = int.Parse(br[1]);
            double price = double.Parse(br[2]);
            int stock = int.Parse(br[3]);
            int reorder = int.Parse(br[4]);
            Product products = new Product(br[0], category, price, stock, reorder);
            list.Add(products);
        }
        reader.Close();
        return list;
    }
}

这里的东西是,输入时没有输出。所以我想知道这段代码是否有问题?

1 个答案:

答案 0 :(得分:0)

这应该改变:

while (reader.EndOfStream)

到此:

while (!reader.EndOfStream)