在C#中用短划线表示空字段的最佳方式

本文关键字:字段 最佳 方式 表示 线表 | 更新日期: 2023-09-27 17:59:23

我从C#代码中来自XML的一些字段中填充了一个pdf。我必须为每个空白字段加上破折号(-)。我应该每次检查字段是否为空,是否加上短划线,或者有一种方法可以同时对所有字段进行检查?什么是最好的方法,因为我有50个字段要检查。

这就是我现在的代码:

   dt.LastName = (dt.LastName == null ? null : (string)individual.XPathSelectElement("AIndividual[@Type='Co-Applicant']/GivenName/LastName"));
   if (dt.LastName == null)
       dt.LastName = "-";

在C#中用短划线表示空字段的最佳方式

我认为dt.LastName最初来自另一个单独元素的同一文档。在这种情况下,您可以使用XPath选择器和属性设置器的数组来处理文档。(请注意,下面的代码只是一个粗略的草图,甚至还没有编译):

public class Applicant
{
    public string LastName { get; set;}
}
public void Process(XmlElement application, Applicant applicant)
{
    var selectors = new[] {
        new { 
                  Setter = new Action<Applicant, string>((t,v) => t.LastName = v), 
                  XPath = "GivenName/LastName"
            }
    };
    foreach(var selector in selectors)
    {
        var node = application.SelectSingleNode("AIndividual[@Type='PrimaryApplicant']/" + selector.XPath) ??
                        application.SelectSingleNode("AIndividual[@Type='CoApplicant']/" + selector.XPath);
        selector.Setter(applicant, node == null ? "-" : node.Value);
    }
}