次のようなクラス定義があります。
public class SolrObj
{
[SolrUniqueKey("id")]
public int id { get; set; }
[SolrField("title")]
public string title { get; set; }
[SolrField("description")]
public string description { get; set; }
[SolrField("url")]
public string url { get; set; }
}
そして、SolrObj にアクセスできる一部のコードには、次のようなものがあります。
SolrObj a = new SolrObj
{
id = edit_id,
title = textbox_title.Text,
description = textbox_description.Text,
url = textbox_url.Text,
};
ただし、上記のスニペットを実行すると、NullReferenceException が発生します。私はそれをすぐに定義しようとしているので、これがどのように起こるかわかりません。a は、例外をスローする null オブジェクトです。どうすればこれを修正できますか?
簡単な質問ですみません。上記の同じスニペットは、別の関数の他の場所でも機能するため、ここでちょっと戸惑います。
編集: Text 属性の 1 つが null であり、この例外が発生していることがわかります。これまでの回答に感謝します。申し訳ありませんが、私は愚かです。どうすればこれを回避できますか? 割り当てで null をテストし、代わりに空の文字列を与える方法はありますか? もしかして三項演算子?
編集 2: ところで、これは悪い質問です。ここに投稿するためにクラスを切り捨て、element.SelectedItem.Text を使用する要素を除外しました。SelectedItem は null 値であり、私たちをつまずかせるものでした -- TextBox のテキストが null であることを疑問視する以下のコメント投稿者は正しいです。これは null ではなく、null であってはなりません。これは混乱の一部でした。null は element.SelectedItem でした (テスト データには要素が選択されていません)。混乱して申し訳ありませんが、助けてくれてありがとう。