C#合并产品价格对比实战
这段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}");}}
}