[英]Copy value of one item from a list into another in c#
NET,我需要将一个列表中的 object 项的值复制到另一个列表中,这就是我所拥有的:
List<Business> businesses; // from where I want to copy the value
PaginationResult<Business> paginatedBusinesses // contains the final list
分页类型的结果里面有一个列表:
public class PaginationResult<T>
{
public PaginationResult();
//
// Summary:
// This is the collection of paged items
public List<T> Items { get; set; }
Business object 包含以下属性:
public class Business : IAggregateRoot
{
/// <summary>
/// Unique identifier of the business
/// </summary>
public Guid Id { get; set; }
...
/// <summary>
/// The epoch timestamp this user last accessed this business.
/// </summary>
public long? LastAccessed { get; set; }
在这里,我将 paginatedBusiness 列表的项目转换为 Business class:
var paginatedBusinesses = results.ConvertItems<Business>((i) => i.ToDomainEntity());
我需要将企业列表中的 LastAccessed 值复制到paginatedBusinesses.Items 中。 搜索 Id(两个列表的 id 具有相同的值,但在第一个列表中我们有 LastAccessed 值,而在最终列表中我们没有它)。 我该怎么做? 我尝试过类似的东西:
paginatedBusinesses.Items.AddRange(businesses.Select(i => i.LastAccessed));
但它不起作用,我怎么能把它放在对应的 object 中(具有相同 id 的那个),我也试过用 foreach 但不知道该怎么做。 有任何想法吗? 谢谢!
如果我理解正确: pagenatedBusinesses.Items
和businesses
列表都包含具有相同 ID 的Business
对象。
问题:如何将LastAccessed
值从businesses
列表中的项目复制到具有相同Id
的pagenatedBusinesses.Items
列表中的项目?
如果正确,则以下代码会将LastAccessed
值从businesses
列表中的Business
对象复制到pagenatedBusinesses.Items
列表中具有相同Id
的Business
对象中:
paginatedBusinesses.Items
.Join(
businesses,
p => p.Id, b => b.Id,
(p, b) => new {PagenatedBusiness = p, b.LastAccessed})
.ToList()
.ForEach(i => i.PagenatedBusiness.LastAccessed = i.LastAccessed);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.