我有一个如下所示的类定义:
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 是引发异常的空对象。我怎样才能解决这个问题?
很抱歉这个简单的问题。上面的相同片段在另一个函数的其他地方也可以使用,所以我在这里有点困惑。
编辑:我看到其中一个 Text 属性为 null 并导致此异常;感谢到目前为止的答案,对不起,我很愚蠢。我怎样才能解决这个问题?有没有办法可以在分配上测试 null 并给出一个空字符串?也许是三元运算符?
编辑2:顺便说一句,这是一个不好的问题。我截断了要在此处发布的类,并排除了使用 element.SelectedItem.Text 的元素。SelectedItem 是 null 值,是让我们绊倒的事情——下面的评论者质疑 TextBox 的 Text 为 null 是正确的,这不是 null 也不应该为 null,这是混淆的一部分。空的东西是 element.SelectedItem (测试数据没有选择元素)。很抱歉造成混乱,再次感谢您的帮助。