考虑下面的代码段。我需要在循环中调用方法CreateOrAddToLists()
。第一次调用该方法时,两个列表casedata.Cases
和casedata.Documents
将为null,因此我可以通过将cases
分配给casedata.Cases
来填充:
casedata.Cases = cases;
在随后调用CreateOrAddToLists()时,casedata.Cases
和casedata.Documents
列表不会为空,我可以使用AddRange()将新数据添加到列表中:
casedata.Cases.AddRange(cases);
var casedata = new CaseData(); //contains lists to get populated
private void CreateOrAddToLists()
{
var cases = new List<Case>(); //gets data with from database
var documents = new List<Document>(); //gets data with from database
if (casedata.Cases == null)
{
casedata.Cases = cases;
}
else
{
casedata.Cases.AddRange(cases);
}
if (casedata.Documents == null)
{
casedata.Documents = documents;
}
else
{
casedata.Documents.AddRange(documents);
}
}
在AddRange
之前进行空检是否有更好或更简洁的方法?我可以在代码行吗?
答案 0 :(得分:7)
在CaseData
的构造函数中实例化两个列表对象,那么您将确信它们不会为空,您只能使用AddRange
。
public CaseData()
{
Cases = new List<Case>();
Documents = new List<Document>();
}
答案 1 :(得分:4)
更清楚:
Error:(24, 13) Failed to resolve: com.github.ppamorim:PrismView:0.3