在列表和View in循环中添加类属性

时间:2013-08-15 09:37:13

标签: c#-4.0

我的课程'产品'有三个属性。它是一个简单的控制台应用程序,用户可以在其中输入三条记我从类产品创建列表,但有一些原因它将无限进入!我不知道我做错了什么

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication5
{
  class Program
   {
    static void Main(string[] args)
    {
        Product obj1 = new Product();         
    }
  }

 class Product
 {     
    public int ID { get; set; }
    public string Name { get; set; }
    public string Price { get; set; }

    public Product()
    {
        Console.WriteLine("Enter Product Name: ");
        string name = Console.ReadLine();

        Console.WriteLine("Enter Product Price: ");
        string price = Console.ReadLine();

        List<Product> MyList = new List<Product>();

        MyList.Add(new Product() { ID = 1, Name = name, Price = price });

        foreach(var item in MyList)
        {
          Console.WriteLine("ID "+item.ID + " Name "+item.Name);

    }
 } //end product class
}

3 个答案:

答案 0 :(得分:2)

在你的构造函数中,你创建一个新的产品,你的循环

答案 1 :(得分:1)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication5
{
   class Program
   {
      static void Main(string[] args)
         {
        List<Product> MyList = new List<Product>();

            Console.WriteLine("Enter Product Name: ");
            string name = Console.ReadLine(); 

            Console.WriteLine("Enter Product Price: ");
            string price = Console.ReadLine();

    MyList.Add(new Product{ ID = 1, Name = name, Price = price });

    foreach(var item in MyList)
            {
               Console.WriteLine("ID "+item.ID + " Name "+item.Name);
    }

    Console.WriteLine("End of Program; Press Enter to Exit");
    Console.ReadLine();
    }
}

public class Product
{     
   public int ID { get; set; }
   public string Name { get; set; }
   public string Price { get; set; }

   public Product()
   {   
   }
} //end product class
}

您通常在数据类中没有UI交互。

我建议您通过Rob Miles Yellow Book工作,这是第一次学习如何编写C#的好书。

答案 2 :(得分:0)

在Product的构造函数中,您正在创建一个新的Product,它将依次调用Product的构造函数,这将创建另一个Product。 换句话说,它是一个无限循环!