如何在 C# 中更新列表

本文关键字:更新 列表 | 更新日期: 2023-09-27 18:30:54

IList<ReceiptAllocationMaster> objReceiptMaster = (IList<ReceiptAllocationMaster>)Session["AllocationResult"];
public class ReceiptAllocationMaster
{
    public string application { get; set; }
    public List<Users> users { get; set; }
}
public class Users
{
    public string name { get; set; }
    public string surname { get; set; }
}

我需要用一些值更新上面的列表,其中application = "applicationame"和用户surname = "surname"到同一个列表中。

如何在 C# 中更新列表

只需遍历列表并修改匹配的项目:

        for (int i = 0; i < objReceiptMaster.Count; i++)
        {
            var item = objReceiptMaster[i];
            if (item.application == "applicationname" && item.users.Any(x => x.surname == "surname"))
                objReceiptMaster[i] = new ReceiptAllocationMaster();
        }

您可以编写任何修改数据逻辑,而不是new ReceiptAllocationMaster()

虽然你的问题不清楚,但这个 shd 给了你一些想法:

objReceiptMaster.Where(x=>x.application=="applicationname" && 
                          x.users.Any(d=>d.surname=="surname"))
                .ToList()
                .ForEach(item=>{//update your list
                           item.application = "whatever value";  
                           item.users.ForEach(user=>{//update users 
                               user.name="whatever username";
                          });   
                      });