C# Включить позицию в список - PullRequest
0 голосов
/ 05 марта 2020

Мне нужно получить список чисел, заказать и поставить на него позицию (например, звание), есть ли лучший способ, чем сделать foreach? Я бы предпочел сделать это с помощью LINQ, но не подумал, как это сделать.

Пример выше того, что я хочу:

    class Program
    {
        static void Main(string[] args)
        {
            var teste = new List<test>() {
                new test{ value = 3.4m }, new test{ value = 5.6m }, new test{ value = 1.2m }, new test{ value = 4.3m },
            };

            var posicao = 1;
            foreach (var item in teste.OrderBy(x => x.value))
            {
                item.position = posicao;
                posicao++;
                Console.WriteLine($"{item.position} / {item.value} #");
            }
        }
    }

    class test
    {
        public decimal value { get; set; }
        public decimal position { get; set; }
    }

1 Ответ

0 голосов
/ 05 марта 2020
foreach (var a in teste.OrderBy(x => x.value)
    .Select((item, position) => (item, position)))
        Console.WriteLine($"{(a.position+1)} / {a.item.value} #");
...