Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当我';我正在创建一个数组,它显示为空_C#_Arrays - Fatal编程技术网

C# 当我';我正在创建一个数组,它显示为空

C# 当我';我正在创建一个数组,它显示为空,c#,arrays,C#,Arrays,我目前正试图把独白作为一个小项目。 我试图创建一个Tile数组,但是当我运行代码时,我得到一个nullreferenceException,因为Tile[]Tiles显示为null。任何建议都很好 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Monolopy { class Board {

我目前正试图把独白作为一个小项目。 我试图创建一个Tile数组,但是当我运行代码时,我得到一个nullreferenceException,因为Tile[]Tiles显示为null。任何建议都很好

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

namespace Monolopy
{
class Board
{
     public Tile[] Tiles { get; }
     GoTile tile1;
     BuildingTile tile2;
     JailTile tile3;
     BuildingTile tile4;
     BuildingTile tile5;
     BuildingTile tile6;
     GoToJailTile tile7;
     BuildingTile tile8;
     BuildingTile tile9;
     ChanceTile tile10;
     BuildingTile tile11;
     BuildingTile tile12;



    public Board()
    {
        Tile[] Tiles = {
            tile1 = new GoTile(),
            tile2 = new BuildingTile(2, "Old Kent Road", 20, 200),
            tile3 = new JailTile(),
            tile4 = new BuildingTile(4, "WhiteHall", 40, 400),
            tile5 = new BuildingTile(5, "Euston Road", 50, 500),
            tile6 = new BuildingTile(6, "bow Street", 60, 600),
            tile7 = new GoToJailTile(),
            tile8 = new BuildingTile(8, "Strand", 70, 700),
            tile9 = new BuildingTile(9, "Fleet Street", 80, 800),
            tile10 = new ChanceTile(),
            tile11 = new BuildingTile(11, "Park Lane", 90, 900),
            tile12 = new BuildingTile(12, "Mayfair", 100, 1000)
        };
    }
}

}

您正在重新说明构造函数中的分幅,因此从未设置实例属性。只需在构造函数中省略Tile[]类型


另外,将(私有)setter添加到属性

构造函数中的Tile数组是构造函数中的局部变量,因此任何使用类Board的属性Tiles的代码都将为空。成员平铺实际上从未初始化


尝试将局部变量的值分配给属性。

在填充局部变量时,在构造函数中删除平铺之前的
平铺[]
,然后定义第二个
平铺
,该平铺只在电路板构造函数期间有效。从线路板构造函数中删除
磁贴[]
,以使用磁贴属性。