• ベストアンサー

ダブルコーテーション

vb.net言語の質問です。 if a <> "" then else ・・・ 上記のような""ダブルコーテションはどういう意味でしょうか? 何も入っていない・・?ということなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

""は、NULLではなく、NullString(長さゼロの文字列)です。 定数 vbNullString = "" です。 なぜこんな細かいことを言うかというと、DBを扱う場合、 基本的に NULL と NullString は違うものだからです。 (ORACLEなんかだと暗黙的に(?)同じものとして扱うっぽいですが…) 大雑把に言い方を替えると、DBのデータにNULLをセットすると「何も入れられていない」状態になり、 NullStringをセットすると「長さゼロの文字列がセットされた」状態になります。 …少々乱暴な言い方ですが。

noname#76583
質問者

お礼

回答有難うございます

その他の回答 (2)

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.2

""をNULL(ヌル)とよびます。 質問にも書いてあるように何も入ってないで正しいです。 文字列には固定長と可変長があります。 可変長の場合は文字列の頭に文字列の長さを格納するためのエリアが2バイト取られます。 NULLの場合は文字列の長さに0が入るだけです。 固定長の場合は数値の0が文字列の終端になります。 この意味はASCIIコードを理解していないと少し難しいのですが、 例えばaにaiueoとあった場合、aiueo/0 と格納されます。 /0 は数値の0で1文字です。表記する方法がないので2文字で表現しています。 多くの言語系でこの形式を採用していますから、上記の考えは覚えておくと便利です。 特にC言語を習得する上では必須になります。

noname#76583
質問者

お礼

回答有難うございます

  • auty
  • ベストアンサー率58% (284/486)
回答No.1

そうです。 長さが0 の文字列ということです。

noname#76583
質問者

お礼

回答有難うございます

関連するQ&A