public int Id { get; set; }
public string Name { get; set; }
public Size Size { get; set; }
public double Price { get; set; }
public override string ToString()
return $"{Id}: {Name} size {Size.ToString()}, {Price} zł";
public static readonly Item[] Items = {
new Item() { Id = 1, Name = "Stella pants", Size = Size.M, Price = 39.99 },
new Item() { Id = 2, Name = "Stella pants", Size = Size.S, Price = 39.99 },
new Item() { Id = 3, Name = "Silk blause", Size = Size.XS, Price = 89.39 },
new Item() { Id = 4, Name = "Tank top Marcella", Size = Size.M, Price = 19.99 },
new Item() { Id = 5, Name = "Jumpsuit Donovan", Size = Size.L, Price = 59.99 },
new Item() { Id = 6, Name = "Jumpsuit Juliet", Size = Size.S, Price = 45.89 },
new Item() { Id = 7, Name = "Wool blause", Size = Size.XL, Price = 39.19 },
public static void Main()
var result = Items.OrderBy(x => x.Name);
foreach(Item el in result)
var result2 = Items.OrderBy(x => x.Price).ThenBy(x => x.Name);
foreach(Item el in result2)
var result3 = Items.OrderByDescending(x => x.Size);
foreach(Item el in result3)