• ベストアンサー

ダブルコーテーション

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

  • If x < y Then 0 Then ←この書き方の意味は?

    VB6.0の出来たプログラムをVB.NETに移行する為にソースを見ているのですが If x < y Then 0 Then ~処理A~ Else ~処理B~ End If と記述されている部分がありました。 「0 Then」がなければ、xがyより小さい時、処理Aを行い、 それ以外の場合は、処理Bを行うというのはわかります。 この時のThen 0 Thenとはどういった意味になるのでしょうか?

  • Excel のダブルコーテーション

     Excelでも、たとえば =IF(A5>=C$3,"",A5+1) のように使うとき、 "" は文字列の末端を意味するNULL文字なのでしょうか?

  • 16進数

    (.net) テキストボックスに16進数のみ入力が出来るようにするにはどうすればいいのdしょうか? VB6では下記ので出来たと思うのですが netではできないのです。 教えて下さい。 If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Then Else If KeyAscii >= Asc("a") And KeyAscii <= Asc("f") Then Else KeyAscii = 0 Beep End If End If

  • オブジェクト型の変数同士の値の等価比較方法

    VB.NETにおいて、オブジェクト型の変数同士の値が同じかどうかチェックする方法を教えてください。 Dim a As Object = 1.0 Dim b As Object = DBNull.Value ・・・ If a = b Then ' 同じ Else ' 違う EndIf 上記のようなことをしたいのですがエラーになります。よろしくお願いします。

  • Select case で条件演算子は使用可能?

     知っている方にはつまらない質問でしょうが…VB6.0でSelect case に条件演算子を使う事ってできないんでしょうか?  つまり、 if i < 0 then j = 0 else if i = 0 then j = 1 else if i > 0 then j = 2 end if  こんな感じの条件をSelect Caseで使えませんか?と言うことなんですが…

  • VB6.0での条件文にある#の意味

    先人のVB6.0プログラムを解読する作業中に以下の2行目の#の意味がわかりませんでした。 (0以下であればというif文の中に 1以下であればというif文?) 御教示いただければ幸いです。 if kakudo < 0 then if kakudo <= 1# then kai = 180 + kakudo else kai = 180 end if else kai = 0 end if

  • C言語で前面表示や、特定のファイル検索方法を教えてください!

    VBで作ったソフトを、今C言語で作り変えています。 そのソフトは前面表示になっており、プログラムの始めに、特定のファイルがあるかどうか調べています。 ネット上で探しているのですが、見つかりません。 知っている人がいれば、どうか教えてください。 後、VBでファイルを調べるプログラムは、 If System.IO.File.Exists(ファイル名) = True Then あった場合に動作させるプログラム Else 無かった場合に動作させるプログラム End If です。

  • サブルーチンの処理

    すみませんが教えてください。 往年のF-BASICやN88などでは 10 INPUT A 20 IF A=1 then gosub 100 ELSE PRINT "Aは1ではありません!" 30 END 100 PRINT A 110 RETURN こんなふうだったかサブルーチンが使えたかと思います。 これをVB.NETでかくと Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim A As Integer A = TextBox1.Text If A = 1 Then ここにどういれたらいいでしょう Else MsgBox("Aは1ではありません") End If End Sub End Class になるとおもうのですが、Thenのあとサブルーチンへ飛ばせるのでしょうか? それとも根本的に考え方が違うのでしょうか? 初歩的な質問ですみませんが、Timer1.Enable = Trueを使った処理以外 入門書に載っていないので、どなたかお教えいただけませんでしょうか。

  • ダブルクリック・右クリックの操作方法

    勤務表作成してます。 A1に「ON・OFF」を表示します。 「ON」のときに、ダブルクリックで、上のセルを表示、右クリックで「1」を表示します。 「OFF」のときは、コンテキストメニュ-(通常の操作)が出来るようにしたいのですが、ON.OFFの切り替え操作のVBAがわかりません。 よろしくお願いします。 Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ActiveCell = ActiveCell.Offset(-1, 0).Value If Target = Range("$A$1") Then Cancel = True If Range("$A$1").Value = "イベントON" Then Range("$A$1").Value = "イベントOFF" Else Range("$A$1").Value = "イベントON" End If If Range("$A$1").Value = "イベントOFF" Then Exit Sub End If End If End Sub Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) ActiveCell = "1" ' If Target = Range("$A$1") Then ' Cancel = True ' ' If Range("$A$1").Value = "イベントON" Then ' Range("$A$1").Value = "イベントOFF" ' Else ' Range("$A$1").Value = "イベントON" ' End If If Range("$A$1").Value = "イベントOFF" Then Exit Sub End If End Sub

  • 右クリック、ダブルクリックの操作

    勤務表作成してます。 A1に「ON・OFF」を表示します。 「ON」のときに、ダブルクリックで、上のセルを表示、右クリックで「1」を表示します。 「OFF」のときは、コンテキストメニュ-(通常の操作)が出来るようにしたいのですが、ON.OFFの切り替え操作のVBAがわかりません。 よろしくお願いします。 Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ' ActiveCell = ActiveCell.Offset(-1, 0).Value ' ' If Target = Range("$A$1") Then ' Cancel = True If Range("$A$1").Value = "イベントON" Then Range("$A$1").Value = "イベントOFF" Else Range("$A$1").Value = "イベントON" ActiveCell = ActiveCell.Offset(-1, 0).Value Exit Sub End If Cancel = True If Range("$A$1").Value = "イベントOFF" Then Exit Sub End If End Sub Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 'ActiveCell = "1" ' If Target = Range("$A$1") Then ' Cancel = True ' If Range("$A$1").Value = "イベントON" Then ' Range("$A$1").Value = "イベントOFF" If Range("$A$1").Value = "イベントON" Then ActiveCell = "1" Else: Range("$A$1").Value = "イベントOFF" Exit Sub End If Cancel = True If Range("$A$1").Value = "イベントOFF" Then Exit Sub End If End Sub