C# 更新列表<&燃气轮机;具有以前项目值的项目
假设我有这样一个数据联系人:C# 更新列表<&燃气轮机;具有以前项目值的项目,c#,list,lambda,visual-studio-2013,C#,List,Lambda,Visual Studio 2013,假设我有这样一个数据联系人: [DataContract] public struct tblTesters { [DataMember] public string ID; [DataMember] public string Value1; [DataMember] public string Value2; } 我用上面的DataContract填充了一个列表。我现在有一份清单。如果列表中的任何“Value1”为null
[DataContract]
public struct tblTesters
{
[DataMember]
public string ID;
[DataMember]
public string Value1;
[DataMember]
public string Value2;
}
我用上面的DataContract填充了一个列表。我现在有一份清单。如果列表中的任何“Value1”为null或为空,则应采用列表中前一个“Value1”项的值。更新后,订单应保持不变
如何用前面的items值更新null或空项的值 可能使用简单for循环?:)
for(int i=1;i
用于(i=0;i
您可以使用一个属性并在setter中写入该逻辑。您必须使用常规列表还是自定义列表是一个选项?我更愿意远离简单的for循环,因为“真实世界”中的数据非常大这个问题的上下文。@BossRoss使用linq将比这个简单的for花费更长的时间。@BossRoss:简单循环是最快的方法。
for (int i = 1; i < myList.Count; i++)
{
myList[i].Value1 = myList[i].Value1 ?? myList[i-1].Value1;
}
for( i=0; i < headerList.size();i++){
if(headerList.get(i).getPurchaseOrdNo()==null){
headerList.get(i).setPurchaseOrdNo(headerList.get(i-1).getPurchaseOrdNo());
}
}