【问题标题】:Field is never assigned to, and will always have its default value null字段永远不会分配给,并且始终具有其默认值 null
【发布时间】:2013-04-21 09:36:04
【问题描述】:

当我的程序第一次启动时,我在 main 方法中创建了一个新菜单,然后进入菜单类。

    private static Shop shop;
    private static Player player;

    public static void Main(string[] args)
    {
        Menu menu = new Menu();

        menu.start(menu, shop, player);
    }

在我的菜单类中,我有一个名为 start() 的方法。它会为用户打印出选项。

    private Menu menu;
    private Shop shop;
    private Player player;

    public void start(Menu menu, Shop shop, Player player)
    {

        this.menu = menu;
        this.shop = shop;

然后当我编译我的程序时,我选择去商店,我得到一个错误“对象引用未设置为对象的实例。”。我想我知道我必须做什么,但我不太确定你在主课上是如何做到的。

我想我必须添加

Shop shop

作为 Main 方法中的参数。然后声明

this.shop = shop;

在我的其他类中的方法内。

我试过这样做,但总是出错。既然它是主要方法,我是否必须采取不同的方法?

【问题讨论】:

    标签: c#


    【解决方案1】:

    你实际上并没有分配那些静态引用:

    private static Shop shop = new Shop();
    private static Player player = new Player();
    

    【讨论】:

    • 我在第一次启动项目时尝试过,但它从来没有工作过......现在只是将其更改为它们,它工作......我想我从来没有让 C# 在我更新警告之前删除了它们。感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多