显示除空引用对象之外的所有值

Display all values except the null reference object

我有一个从 XML 文件中提取数据的 foreach 循环,但是有些字段是空白的。当循环尝试提取特定值时,有时会出现空引用异常。有没有办法挑出具有空值的变量并将其设置为空字符串,同时以有效的方式显示所有其他值?为了示例起见,假设地址字段返回空值。

        XmlDocument xmldoc = new XmlDocument();
        xmldoc.Load(id);

        XmlNodeList person = xmldoc.SelectNodes("//parent/child");

        foreach (XmlNode node in person)
        {
            try
            {
                var name = node["name"].InnerText;
                var phone = node["phone"].InnerText;
                var email = node["email"].InnerText;
                var address = node["address"].InnerText;

                lblPopulate2.Text = name;
                lblPopulate7.Text = address;
                lblPopulate5.Text = phone;
                lblPopulate6.Text = email;
            }
            catch(NullReferenceException ex)
            {
                ???  
            }
            finally
            {
            }

您可以使用 null conditional operator,如果地址节点不存在,它将 return 为 null,否则 InnerText

var address = node["address"]?.InnerText;

然后 null coalescing operator 用于设置您的 Text 属性:

lblPopulate7.Text = address ?? string.Empty;