products sorted by the number of units of each product that are in stock : OrderBy « LINQ « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Design Patterns
8.Development Class
9.Event
10.File Stream
11.Generics
12.GUI Windows Form
13.Language Basics
14.LINQ
15.Network
16.Office
17.Reflection
18.Regular Expressions
19.Security
20.Services Event
21.Thread
22.Web Services
23.Windows
24.Windows Presentation Foundation
25.XML
26.XML LINQ
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp » LINQ » OrderByScreenshots 
products sorted by the number of units of each product that are in stock
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

public class MainClass {
    public static void Main() {

        List<Product> products = GetProductList();

        var sortedProducts =
            from p in products
            orderby p.UnitsInStock descending
            select p;

        Console.Write(sortedProducts);
    }
    static List<Product> GetProductList() {
        List<Product> empTree = new List<Product>();
        empTree.Add(new Product ProductName = "A", Category = "O", UnitPrice = 12, UnitsInStock = 5, Total = 36, OrderDate = new DateTime(200511), Id = });
        empTree.Add(new Product ProductName = "B", Category = "O", UnitPrice = 2, UnitsInStock = 4, Total = 35, OrderDate = new DateTime(200511), Id = });
        empTree.Add(new Product ProductName = "C", Category = "O", UnitPrice = 112, UnitsInStock = 3, Total = 34, OrderDate = new DateTime(200511), Id = });
        empTree.Add(new Product ProductName = "D", Category = "O", UnitPrice = 112, UnitsInStock = 0, Total = 33, OrderDate = new DateTime(200511), Id = });
        empTree.Add(new Product ProductName = "E", Category = "O", UnitPrice = 1112, UnitsInStock = 2, Total = 32, OrderDate = new DateTime(200511), Id = });
        empTree.Add(new Product ProductName = "F", Category = "O", UnitPrice = 11112, UnitsInStock = 0, Total = 31, OrderDate = new DateTime(200511), Id = });
        return empTree;
    }
}
class Product : IComparable<Product> {
    public string ProductName get; set; }
    public string Category get; set; }
    public int UnitPrice get; set; }
    public int UnitsInStock get; set; }
    public int Total get; set; }
    public DateTime OrderDate get; set; }
    public int Id get; set; }

    public override string ToString() {
        return String.Format("Id: {0}, Name: {1} , Category: {3}"this.Id, this.ProductName, this.Category);
    }
    int IComparable<Product>.CompareTo(Product other) {
        if (other == null)
            return 1;
        if (this.Id > other.Id)
            return 1;

        if (this.Id < other.Id)
            return -1;

        return 0;
    }
}

 
Related examples in the same category
1.OrderBy: prints an alphabetically sorted version of a string array
2.string array sorted by the length each element
3.products sorted alphabetically by the product name
4.OrderBy with customized Comparer
5.OrderBy with passing a lambda function
6.OrderBy Descending
7.sorted alphabetically in descending order, using a case insensitive comparision.
8.uses a compound orderby to sort a list of digits first by length of their name, and then alphabetically.
9.an array of string values sorted first by length, then sorted alphabetically, using a case-insentive comparison.
10.uses a compound orderby to sort a list of products, first by category, and then by unit price, from highest to lowest.
11.First OrderBy Prototype
12.Where with OrderBy
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.