2

ここに私のクラスパックスがあります

 public class pax
    {
        public pax();

        [SoapElement(DataType = "integer")]
        public string age { get; set; }
        public string firstName { get; set; }
        public string lastName { get; set; }
        public string paxType { get; set; }
        public string title { get; set; }
    }

そして、私は次の配列を宣言しました

pax[][]rooms=new pax[3][];

        rooms[0][0].paxType = "Adult";
        rooms[0][1].paxType="Adult";
        rooms[0][2].paxType="Child";
        rooms[0][2].age = "6";

オブジェクト参照がオブジェクトのインスタンスに設定されていないというエラーがスローされます。オンライン

 rooms[0][0].paxType = "Adult";
4

1 に答える 1

4

これはあなたに配列を与えるだけです。

pax[][]rooms=new pax[3][];

オブジェクトをインスタンス化するには、次のことを行う必要がありますnew

rooms[0][0] = new pax();

C ++を使用している場合、オブジェクト配列がすべてのオブジェクトを自動的に作成すると考えるかもしれませんが、ここではそうではありnullません。作成する前に、各オブジェクトを作成する必要があります。

編集:

ここにジャグ配列があるので:

pax[][]rooms=new pax[3][];
rooms[0]=new pax[3];
rooms[0][0]=new pax();

ジャグ配列=配列の配列。多次元(2次元配列)が必要な場合、それは別の話であり、次のように言います。

pax[,] rooms=new pax[3,3];

例えば...

于 2012-07-15T15:22:58.290 に答える