所以我有两个“文件”,都具有分配属性。一个文档是已填写文档的一个实例。我需要检查是否有“价值”的性质(因为他们主要是为空的诠释?),如果是当前属性值分配给其他文件的属性。如何使用列表压缩一堆IF语句 - 可以吗?
例
if (documentA.FirstProperty.HasValue)
{
documentB.FirstProperty = documentA.FirstProperty
}
但有没有办法让这个清晰?我想也许我可以创建一个文档类型的列表,并使用foreach循环,并检查当前属性是否有值,如果是的话,将其分配给新文档。
由于已经获得了一个名为的文档实例oldDocument
例子:
List<oldDocument> listOfProperties = new List<oldDocument>();
foreach (var property in listOfProperties)
{
if (property.HasValue)
{
documentB.property = documentA.property;
}
}
凡在foreach循环变量“属性”将代表属性的名称?
看来你的LINQ sugestion需要在列表的属性,但如果文档的实例只是一堆自动属性的,怎么我将它们加载到列表中? – pghtech 2010-08-06 20:33:45
对于Linq,只需要接口IEnumerable。所以我能想到的最好的事情就是创建一个临时Enumerable(即列表)并将所有属性添加到它中。您可以使用文档中的方法创建它,如下所示:List lst = doc.GetPropertiesAsList(); 这样你可以使用LINQ来解决这个问题。 –
schoetbi
2010-08-07 14:16:39