如何在c#中使用Linq将名称值设置为列表中的ID?

如何在c#中使用Linq将名称值设置为列表中的ID?,linq,list,Linq,List,我有一个列表,我想在同一个列表中设置一个名称值作为ID值 您是否考虑过只遍历列表并更新属性 foreach(var element in YourList) { element.Name = element.ID; } LINQ方法(可能不必要) 如果必须使用LINQ,则可以使用调用将每个现有元素映射到更新版本: // This assumes that YourList is a List<YourClass> YourList = YourList.Select(x =

我有一个列表,我想在同一个列表中设置一个名称值作为ID值


您是否考虑过只遍历列表并更新属性

foreach(var element in YourList)
{
    element.Name = element.ID;
}
LINQ方法(可能不必要)

如果必须使用LINQ,则可以使用调用将每个现有元素映射到更新版本:

// This assumes that YourList is a List<YourClass>
YourList = YourList.Select(x => new YourClass() { Name = x.ID, ... })
                   .ToList();;
//这假设您的列表是一个列表
YourList=YourList.Select(x=>newyourclass(){Name=x.ID,…})
.ToList();;

值得注意的是,LINQ主要用于查询而不是实际更新属性/对象,因此在大多数情况下,循环方法可能是首选方法。

在哪里填写列表?在这一点上,为ID和Name设置相同的值。我必须填写相同的列表。与名称和值字段相同。我的列表中有一个Name值,该值为null。因此,我必须用Name字段替换null。应该没有理由使用LINQ方法,也许没有例外:无论出于何种原因,您都必须创建新实例和新列表。我同意Tim的观点,并仅将其作为OP明确提到的LINQ。我添加了一个小片段来澄清对循环方法的偏好。感谢您的解决方案。