boxing - 在 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 id
,string name
等。
推荐阅读
- c# - JWT 令牌过期未设置为所需时间
- java - 从另一个类更新 GUI
- android - 在 Android 中将 Java 转换为 Kotlin 后出错
- php - 卡在带有反向引用的简单 preg_replace
- python - 如何使 pip 从需求文件中运行特定命令?
- android - VectorDrawable 图像在 android.support.v7.preference.Preference 中显示不正确
- android - 如果我们在颤振应用程序中发布版本,自定义声音不起作用
- python - send_mail 仅适用于 django 的终端
- ocaml - 如何在没有冗余匹配案例的情况下转换通用变体实例?
- c# - 调用第三方同步方法 async