微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 c# 中拆箱时出错,说明当前上下文中不存在名称?

如何解决在 c# 中拆箱时出错,说明当前上下文中不存在名称?

  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 idstring name 等。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。