在 C# 中将列表中的一项值复制到另一项中

Copy value of one item from a list into another in c#

NET,我需要将一个列表中的对象项的值复制到另一个列表中,这就是我所拥有的:

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; }

业务对象包含这些属性:

    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 列表的项目转换为业务 class:

var paginatedBusinesses = results.ConvertItems<Business>((i) => i.ToDomainEntity());

我需要将 businesses 列表中的 LastAccessed 值复制到 paginatedBusinesses.Items. 中搜索 ID(两个列表具有相同值的 id 但在第一个列表中我们有 LastAccessed 值,在最后一个列表中我们没有它)。我该怎么做?我试过类似的东西:

paginatedBusinesses.Items.AddRange(businesses.Select(i => i.LastAccessed));

但它不起作用,我如何将它放在对应的对象(具有相同 ID 的对象)中,我也尝试使用 foreach 但不知道该怎么做。有任何想法吗?谢谢!

如果我理解正确:pagenatedBusinesses.Itemsbusinesses 列表都包含 Business 个具有相同 ID 的对象。

问题: 如何将 LastAccessed 值从 businesses 列表中的项目复制到 pagenatedBusinesses.Items 列表具有相同的 Id?

如果这是正确的,那么下面的代码会将 businesses 列表中 Business 对象的 LastAccessed 值复制到具有相同 Business 对象的 Business 对象中。 =17=] 在 pagenatedBusinesses.Items 列表中:

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);