- PR -

string型ジャグ配列変数で「未定義の値」

1
投稿者投稿内容
ふみぱいん
会議室デビュー日: 2006/07/14
投稿数: 6
投稿日時: 2006-07-14 12:17
string[][] st = new string[10][];
for(i=0; i<10; i++){
st[i] = new string[5];
}
で、次に値の設定をすると、値が設定されてないところは、
未定義の値とデバッグで表示されます。
このとき、
if(st[i][y]!=null && st[i][y]!=""){
処理
}
のチェックで、未定義の値の場合には、
処理が実行されてしまいます。
未定義の値なら、nullと認識してくれません。なぜでしょうか。

ご教授お願いします。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-07-14 12:30
コード:
string[][] st = new string[10][]; 
for(int i=0; i<10; i++)
{ 
	st[i] = new string[5]; 
} 

if( st[ 0 ][ 0 ] == null )
{
	// ここにくるよ
	int a = 1;
}


「// ここにくるよ」のコメントまで入りますよ。
再現するコードを下さい。
_________________
囚人のジレンマな日々
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-07-14 12:32
引用:

ふみぱいんさんの書き込み (2006-07-14 12:17) より:

未定義の値なら、nullと認識してくれません。なぜでしょうか。


いいえ、未定義は null であると判断できます。
十分にミニマム コードですが、もっと単純に書いてみましょう。

コード:

    string[][] st = new string[10][];

    for (int i = 0; i <= st.Length - 1; i++) {
        st[i] = new string[5];

        if (st[i][0] == null) {
            MessageBox.Show("I'ts Null!");
        }
    }


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ふみぱいん
会議室デビュー日: 2006/07/14
投稿数: 6
投稿日時: 2006-07-14 12:36
ご教授有難うございます。
さっそくこちらで、もう一度調べてみます。

_(-o-)_
1

スキルアップ/キャリアアップ(JOB@IT)