C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: クラスの配列で・・・


(過去ログ 36 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■18377 / inTopicNo.1)  クラスの配列で・・・
  
□投稿者/ 押弐 (1回)-(2008/05/13(Tue) 21:39:36)

分類:[C#] 

2008/05/13(Tue) 22:00:08 編集(投稿者)
2008/05/13(Tue) 21:52:50 編集(投稿者)
2008/05/13(Tue) 21:52:48 編集(投稿者)
2008/05/13(Tue) 21:40:14 編集(投稿者)
2008/05/13(Tue) 21:40:06 編集(投稿者)

始めまして
C#で開発をしたいと思っている初心者なのですが

クラスの配列
DATA[,] base = new DATA[100,100];
を宣言して使おうとしたのですが
DATAの中のメンバ変数
public bool a;


for(x=0;x<100;x++){
for(y=0;y<100;y++){
base[x,y].a = true;
}
}

の様にすると
"nullRefarenceExceptionはハンドルできませんでした"
というエラーが出て代入する事ができません
どうしたらいいのでしょうか
引用返信 編集キー/
■18378 / inTopicNo.2)  Re[1]: クラスの配列で・・・
□投稿者/ 倉田 有大 (225回)-(2008/05/13(Tue) 22:00:38)
2008/05/13(Tue) 22:05:11 編集(投稿者)
2008/05/13(Tue) 22:04:26 編集(投稿者)
2008/05/13(Tue) 22:02:21 編集(投稿者)
<pre><pre>■No18377 (押弐 さん) に返信
> 2008/05/13(Tue) 21:40:14 編集(投稿者)
> 2008/05/13(Tue) 21:40:06 編集(投稿者)
> 
> 始めまして
> C#で開発をしたいと思っている初心者なのですが
> 
> クラスの配列
> DATA[,] base = new DATA[100,100];
> を宣言して使おうとしたのですが
> DATAの中の変数を参照できません
> どうしたらいいのでしょうか

たとえば、base[0,0]の中がnullになっているということでしょうか?

namespace Project1
{
    class Class1
    {
        public int a = 1;

        static void Main()
        {
            
            Class1[,] a = new Class1[100,100];
            for (int i = 0; i < 100; i++ )
            {
                for (int i1 = 0; i1 < 100; i1++)
                {
                    a[i, i1] = new Class1();
                }
            }
        }
    }   
}

配列の中ちゃんとnewしてあげてます?

>"nullRefarenceExceptionはハンドルできませんでした"

ステップ実行の仕方はしっています?エラーの行でとめてやると、base[x,y]がnullになってません?</pre></pre>

#予断 foreachばっか使ってたので、for文の使い方本気で忘れてた^^;あと、多次元配列も久々で迷いましたね。大抵、Collection使ってますから。もっと、エレガントな方法あるんかな?
おっと図表モード忘れてた。

引用返信 編集キー/
■18381 / inTopicNo.3)  Re[2]: クラスの配列で・・・
□投稿者/ 押弐 (2回)-(2008/05/13(Tue) 22:15:55)
ありがとうございました
ご指摘の通り要素がnullになっていました
中身もちゃんと初期化してあげないと駄目なんですね・・・

初歩的な事なのにどうもありがとうございます
簡単な所でつまづく事のないように勉強していきたいです
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -