在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 = "-";
我认为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);
}
}