Никак не придумаю логику работы с массивом - C#

Узнай цену своей работы

Формулировка задачи:

есть Данные name | weight 0 вася|1 1 петя| 3 2 леша|63341 3 света|9333 4 маша|4 результат должен быть такой 0 вася| 1 1 петя|2 2 маша|3 3 света|4 4 леша|5 с сортировкой понятно непонятно как выправить weight вот так аккуратно то есть предположим была куча записей(100000) и у них был вес для сортировки(пользовательской). Удалили все кроме тех, что в таблице и надо сохранить их сортировку и при этом их вес выравнять. Ведь больше нецелесообразно использовать такие большие веса. то есть чистку своеобразную. * количество оставшихся записей можно узнать * решение с временным массивом не предлагать язык программирования пофиг какой не важно.

Решение задачи: «Никак не придумаю логику работы с массивом»

textual
Листинг программы
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
 
            List<Item> source = new List<Item>()
            {
                new Item { Name ="вася", Weight = 1},
                new Item { Name ="петя", Weight = 3},
                new Item { Name ="леша", Weight = 63341},
                new Item { Name ="света", Weight = 9333},
                null,
                new Item { Name ="маша", Weight = 4}
            };
 
            int counter = 0;
 
            var filtered = from item in source
                           where item != null
                           orderby item.Weight
                           select item;
 
            var result = filtered.Select<Item, Item>(
                (Item item, int index) =>
                    new Item() { Name = item.Name, Weight = index });
 
            foreach (var item in result)
            {
                Console.WriteLine(item);
            }
        }
    }
 
    class Item
    {
        public string Name { get; set; }
        public int Weight { get; set; }
        public override string ToString()
        {
            return String.Format("Name: {0}, Weight: {1}", this.Name, this.Weight);
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5
Похожие ответы