Classement des éléments dans une liste avec LINQ

J'essaie de trouver un moyen de classer les éléments dans une liste, et maintenez-les résultats à un objet ou à une autre liste. - Je savoir à propos de la méthode orderby, mais je ne sais pas exactement comment faire pour aller sur la création d'un correspondant numéro de rang pour chaque élément.

Par exemple:

List<int> numbers = new List<int>();

numbers.Add(650);
numbers.Add(150);
numbers.Add(500);
numbers.Add(200);

puis stocker les résultats à partir, soit de bas en haut ou de haut à bas ici:

public class NumberRank
{
    public int Number {get; set;}
    public int Rank {get; set;}

    public NumberRank(int number)
    {
        Number = number;
        Rank = ????????;
    }
}

Toutes les solutions grâce à LINQ?

Avez-vous besoin de conserver l'original de l'ordre?
Non, juste un classement de type.
Doit dupliquer nombres ont le même rang?
avez-vous été en mesure d'obtenir une solution? Je vais avoir des problème similaire.

OriginalL'auteur | 2013-04-19