更新列表<>具有先前项目值的项目

时间:2013-10-21 15:55:05

标签: c# list lambda visual-studio-2013

假设我有一个像这样的DataContact:

[DataContract]
public struct tblTesters
{
    [DataMember]
    public string ID;

    [DataMember]
    public string Value1;

    [DataMember]
    public string Value2;        
}

我使用上面的DataContract填充列表。我现在有一个清单。如果List中的任何“Value1”为null或为空,则它应该采用列表中前一个“Value1”项的值。更新后订单应保持不变。

如何使用之前的项值更新null或空项的值?

2 个答案:

答案 0 :(得分:3)

也许使用简单的for循环? :)

for (int i = 1; i < myList.Count; i++)
{
   myList[i].Value1 =  myList[i].Value1 ?? myList[i-1].Value1;
}

答案 1 :(得分:-1)

for( i=0; i < headerList.size();i++){   
    if(headerList.get(i).getPurchaseOrdNo()==null){
        headerList.get(i).setPurchaseOrdNo(headerList.get(i-1).getPurchaseOrdNo()); 
    }
}