• ベストアンサー

C#のnullチェック

nullチェック用のソースを書いたのですが↓の部分でかならずエラーが出てしまいます。 データ型HtmlDocumentにヌルを入れることはできないのでしょうか? HtmlDocument doc = null; while (doc.Body == null)//ここでエラー { }

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

  • ベストアンサー
  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.1

nullを入れると実体を持ちません。よってメンバーは参照できません。 おおもとのdocならば聞くことができるでしょう。 while (doc == null)//ここでエラー

satisfied999
質問者

お礼

あそっか! ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 「nullまたはオブジェクトではありません」がウザイ!!

    "null"はNullまたはオブジェクトではありません。 ・・・見飽きました。 絶対出てきます。 初めになったとき、このサイト内も、外もいっぱい「スクリプトエラー」のことを検索しました。 もちろん、対処法とされている、「インターネットオプション」の該当項目のチェックを入れたり、はずしたりしました。(というか最初からそのようにチェックなってたな) で も なんら変わりません。まったく言うことを聞いてくれませんでした。 そのページのソースには、nullという字が結構ありました。 でもどうしようもないじゃないですか、個人のサイトでもないんだし。 なのに毎回出てきてもううんざりです! なんなんでしょうか、どなたかお願いします。 (WinXP,IE6) 余談 最近MEのPCからXPに買い換えたばかりです。 本体の動作は断然よくなったのですが、IEのエラーが続きます。 IEはME時代のほうがまだマシだったかもしれません。 なんだかなー・・・

  • Null値が入れられない

    種別:Decimal(18,2) 属性:UNSIGNED NULL:はい デフォルト値:NULL のフィールドがあります。phpMyAdminを通じてデータを入力しております。Null値のチェックを入れれば良いのですが、空白のまま残したおいた場合には、デフォルト値であるNull値が格納されるものと思っておりましたが、空白ですと0.00に変換されてしまします。 また、同時に、スクリプトの方ではjqGridを使用しているのですが、こちらの方でデータ編集をする際には、Null値のチェックボタンはありませんので、空白のままで更新しなければなりません。上記と同様に、空白にしておくと、0.00に変換されてしまいます。 Null値を入れるためには、どのような方法があるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • MySQL
  • DBへNULLの書き込みって出来ますか?

    いつもお世話になっております。 VB初心者で「BV2008EE」を使っています。よろしくお願いします。 データリーダーが気に入ってよく使っています。 使い方に問題があるのかもしれませんが ***<< ソース例 >>***************************************** 'データコマンドの定義 command.CommandText = "SELECT tana_type FROM tbl_tana ORDER BY tana_type" 'データリーダーからのデータの読み出し dr = command.ExecuteReader() Do While dr.Read '読み出したデータ(Null以外)をコンボボックスに追加する If Not IsDBNull(dr("tana_type")) Then cmbTana.Items.Add(dr("tana_type")) End If Loop 'データリーダーを閉じる dr.Close() *********************************************************** データベースの情報をコンポボックスに追加していくものですが 空白を追加する場合があります。 原因は「NULL」ではなく「""(0文字)」が登録された為です。 一度文字を書いて削除した場所はNULLではなく""になるようです。 データリーダーで""の判定がエラーになるためNULL判定にしたのですが 入力間違いで削除するケースは多いと思う為、どうしようか困っています。 ""判定が出来ないのは私のプログラム構造のミスなのかもしれません。 苦肉の策で""だったら「NULL」を書き込もうと思いましたが出来ませんでした。 良い方法がございましたらご教授いただけると助かります。 宜しくお願いいたします。

  • C#のmshtmlで・・・

    C#にてmshtmlでHTMLDocumentを取得したいのです。 ブラウザコントロールを使って、以下のようにして取得することはできたのですが、 AxSHDocVw.AxWebBrowser myWebBrowser = new AxSHDocVw.AxWebBrowser(); // ドキュメントオブジェクトの獲得 mshtml.HTMLDocument myDocument = (mshtml.HTMLDocument)axWebBrowser1.Document;     mshtml単体で取得しようとしてもうまくいきません。 VB.netのサンプル紹介ページを参考にして createDocumentFromUrl(url, null); を使用してもエラーになってしまします。 どのサイトを指定しても例外が発生してしまいどうすればいいのか困っております 解決方法をご存知の方、ご教授お願いします

  • AccessVBA NULLについて

    いつもお世話になっております。 AccessVBAでコーディングを始めたのですが、 NULLの判定で分からない点がでてきました。 データベースより If rs.Fields(0) = Null Then Else 区分 = rs.Fields(0) End If この場合、rs.Fields(0)の中身がNULLの場合は rs.Fields(0)のデータを入れるとエラーになるので ELSEで逃がしたいのですが、 中身のデータがNULLにもかかわらずELSEの方を通ってしまいます。 If rs.Fields(0) Is Null Then Else シール = rs.Fields(0) End If こちらかとも思いましたが、オブジェクトが必要とエラーが返ってきました。 NULLをIF分で判定したい場合どのような記述を行えばよいでしょうか。 どうぞよろしくお願い致します。

  • null 判定について

    javascriptに関して質問させて下さい。 accessのDBのデータをHTML上で表示・追加・削除・更新を行っています。 DB上のデータで空欄の項目を表示させたときに null が表示されます。 nullではなく空欄にしておきたいので、null判定チェックを 行っているのですが、ひっかかってくれない状態です。 ------------- var database; database = new ActiveXObject("ADODB.Connection"); database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\\mydb.mdb;"); var mySql = "select 種別, 内容 from Aテーブル; var recordSet = database.Execute(mySql); var tempHtml = "種別=" + recordSet(0); if(recordSet(1) != null){ tempHtml = tempHtml + "<br>内容=" + recordSet(1); }else{ tempHtml = tempHtml + "<br>内容="; } (略) --------------- recordSet(0)=種別 recordSet(1)=内容 上記のように普通にnull判定をしてるつもりなのですが、 recordSet(1)=内容 が access上で空欄の場合=null もif文内に入り、 「null」という文字列が表記されます。 ※accessからとってきたデータではなく、  javascript内で null を設定した場合はチェックにひっかかっています。 var tmp = null; if(tmp == null){ alert("nullである"); } 何が悪いかお分かりになる方、ご回答お願いします。

  • 「Nullの使い方が不正です」のエラー

    AccsessとVB間でデータの参照・登録・削除を行うプログラムを作成中です。 テキストボックスにデータを入力せずに更新するとAccess側はNull値が入るので、参照をした際に 「Nullの使い方が不正です」のエラーが表示されます。 Null値が表示可能ならその方法を教えてください。

  • java PackageTest

    下のPackageTest.javaを自分のホームディレクトリーに置き、HTMLDocument.javaをしかるべき位置(ディレクトリ)に置く。そして、HTMLDocument.javaをコンパイル し、その後PackageTest.javaをコンパイルする。うまくコンパイルできれば自分のホームディレクトリでjava PackageTestを実行すると TEXT と表示されるはずですなんですがうまくいきません。宜しくお願いします。 ---------------------------------------------------- HTMLDocument.java ---------------------------------------------------- package jp.co.atmarkit.java; public class HTMLDocument { private String source; public void setSource( String html ) { if ( html.indexOf("<html>") == 0 ) source = html; } public String getSource() { return source; } public void showPlainText() { boolean processingTag = false; int pos; int start = 0; for ( pos = 0; pos < source.length(); pos++ ) { // タグ if (processingTag) { if ( source.charAt(pos) != '>' ) { for ( pos++; pos < source.length(); pos++ ) { if ( source.charAt(pos) == '>' ) { break; } } } start = pos + 1; } // テキスト else { if ( source.charAt(pos) != '<' ) { for ( pos++; pos < source.length(); pos++ ) { if ( source.charAt(pos) == '<' ) { System.out.println(source.substring( start, pos )); break; } } } } processingTag = !processingTag; } } } ---------------------------------------------------- PackageTest.java ---------------------------------------------------- import jp.co.atmarkit.java.HTMLDocument; public class PackageTest { public static void main( String args[] ) { HTMLDocument doc = new HTMLDocument(); doc.setSource("<html>TEXT</html>"); doc.showPlainText(); } }

  • [VB6] 特定カラムのNULLチェックについて

    お世話になります。 現在、Visual Basic 6.0 にて 開発をおこなっております。 下記内容で DBからデータを取得し、スプレッドシートに データを表示させる必要があるのですが、 実現方法がよくわからず、非常に困っています。 ・スプレッドシートに取得データを表示する際、 すべての行において データがNULLの列に関しては、 その列自体を表示せず、その次の列を前につめて表示させる まず、上記を実現しようとする場合、 1. データ取得時のSQL文にて、上記内容を満たすようなデータを 取得する 2. 全レコードを取得後、Visual Basic側で構造体に格納した各列の値を 保持した変数の中身をひとつひとつNULLかどうかチェックをする の2つの方法を考えているのですが、1回で条件を満たすようなSQL文が 作成可能なのかどうかも、まだはっきりしていません。 また、上記1、2のどちらがより良い方法なのかも、よくわかりません。 (あるいは、それ以外の方法があれば、それをぜひ知りたいのですが、) どなたか、大変申し訳ないのですが、ご教授願えますか?

  • 入力(ファイル)の入力チェックにつきまして

    いつも参考にさせて頂いております、佐藤と申します。 入力ファイルの項目チェックを行おうとしておりましたが、 どうもコンパイルエラーが発生してしまいます。 原因が分かる方がいらっしゃいましたら、是非ともご教授願います。 以下がコーディングの一部となります。 FileReader text = new FileReader(args[0]); BufferedReader data = new BufferedReader(text); String check; FileWriter fw = new FileWriter(args[1]); while((check = data.readLine())!=null){ char[] src = check.toCharArray(); //第1~2パラメータをワークに代入 try{ n = Integer.parseInt(check[0]); n2=Integer.parseInt(check[1]); }catch(java.lang.NumberFormatException e){ System.out.println("第1~2パラメータが不正です"); return; } どうも、「//第1~2パラメータをワークに代入」の下でエラーとなっているようです。 エラーの内容は、「配列が要求されましたが、Java.lang.Stringが見つかりました」と表示されてしまいます。 どうか宜しくお願い致します。