这段C#代码演示了两个产品列表的合并操作。通过定义Product类包含名称、价格和原价属性,程序创建了两个产品列表list1和list2。使用LINQ的Join方法,基于产品名称将两个列表合并,保留每个产品的原始价格和新价格信息。最终控制台输出合并后的产品信息,包括名称、原价/新价等数据。代码展示了如何使用LINQ进行集合操作和数据合并。

public class Product
{
    public string Name { get; set; }
    public decimal Price { get; set; }
    public decimal OriginalPrice { get; set; }
}
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<Product> list1 = new List<Product>
        {
            new Product { Name = "Apple", Price = 100, OriginalPrice = 120 },
            new Product { Name = "Banana", Price = 50, OriginalPrice = 60 }
        };

        List<Product> list2 = new List<Product>
        {
            new Product { Name = "Apple", Price = 105, OriginalPrice = 125 },
            new Product { Name = "Orange", Price = 70, OriginalPrice = 80 }
        };

        var mergedProducts = list1.Join(list2,
            p1 => p1.Name,
            p2 => p2.Name,
            (p1, p2) => new 
{ 
p1.Name, Price = p1.Price,
 OriginalPrice = p1.OriginalPrice, 
NewPrice = p2.Price,
 NewOriginalPrice = p2.OriginalPrice 
});

        foreach (var product in mergedProducts)
        {
            Console.WriteLine($"Name: {product.Name}, 
Price: {product.Price}, 
OriginalPrice: {product.OriginalPrice}, 
NewPrice: {product.NewPrice}, 
NewOriginalPrice: {product.NewOriginalPrice}");
        }
    }
}

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐