问题描述
class Program
{
static void Main(string[] args)
{
Console.WriteLine("enter id");
int id = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("enter name");
string name = Console.ReadLine();
Console.WriteLine("price");
int price = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("enter quantity");
int quantity = Convert.ToInt32(Console.ReadLine());
product_demo p1 = new product_demo(id,name,price,quantity);
p1.diplay();
Console.Read();
}
}
public class product_demo
{
public int id;
public string name;
public int price;
public int quantity;
public product_demo(int id,string name,int price,int quantity)
{
this.id = id;
this.name = name;
this.price = price;
this.quantity = quantity;
object o1 = id;
object o2 = name;
object o3 = price;
object o4 = quantity;
}
public void diplay()
{
int j = (int)o1;
Console.WriteLine("id :");
}
}
在显示功能中拆箱时出错。装箱是在 product_demo 构造函数中完成的。还有一个问题 ;我们可以在任何构造函数或方法之外直接在类的主体中定义装箱吗?
解决方法
您在 object o1
的构造函数中创建了 product_demo
,因此它仅存在于该范围内。您需要在类中放置对象(类似于放置其他变量的位置,例如 int id
、string name
等。