[英]Order by list in complex object
I have two classes : 我有两节课:
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
public List<Product> Product { get; set; }
}
public class Product
{
public int ProductNumber { get; set; }
public string ProductColor { get; set; }
}
And one instance : 还有一个实例:
Customer Cus = new Customer()
{
FirstName = "FirstName1",
LastName = "LastName1",
Product = new List<Product>
{
new Product()
{
ProductColor = "ProductColor12",
ProductNumber = 12
},
new Product()
{
ProductColor = "ProductColor11",
ProductNumber = 11
}
}
};
I want to sort the Product List and get a Customer with a list of products sorted by ProductNumber
我想对产品列表进行排序,并获得一个具有按ProductNumber
排序的产品列表的客户
How to do this ? 这个怎么做 ?
Cus.Product = Cus.Product.OrderBy(p => p.ProductNumber).ToList();
产品类应在IComparable接口中实现CompareTo方法
try this 尝试这个
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
List<Customer> customers = new List<Customer>();
Customer Cus = new Customer()
{
FirstName = "FirstName1",
LastName = "LastName1",
Product = new List<Product> {
new Product()
{
ProductColor = "ProductColor12",
ProductNumber = 12
},
new Product()
{
ProductColor = "ProductColor11",
ProductNumber = 11
}
}
};
customers.Add(Cus);
var results = customers.OrderBy(x => x.LastName).ThenBy(y => y.FirstName).Select(z => z.Product.OrderBy(a => a.ProductNumber)).ToList();
}
}
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
public List<Product> Product { get; set; }
}
public class Product
{
public int ProductNumber { get; set; }
public string ProductColor { get; set; }
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.